/-
Copyright (c) 2022 Yuyang Zhao. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yuyang Zhao

! This file was ported from Lean 3 source module ring_theory.mv_polynomial.tower
! leanprover-community/mathlib commit 932872382355f00112641d305ba0619305dc8642
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
import Mathbin.Algebra.Algebra.Tower
import Mathbin.Data.MvPolynomial.Basic

/-!
# Algebra towers for multivariate polynomial

> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
> Any changes to this file require a corresponding PR to mathlib4.

This file proves some basic results about the algebra tower structure for the type
`mv_polynomial σ R`.

This structure itself is provided elsewhere as `mv_polynomial.is_scalar_tower`

When you update this file, you can also try to make a corresponding update in
`ring_theory.polynomial.tower`.
-/

variable (R A B : Type _) {σ : Type _}

namespace MvPolynomial

section Semiring

variable [CommSemiring R] [CommSemiring A] [CommSemiring B]

variable [Algebra R A] [Algebra A B] [Algebra R B]

variable [IsScalarTower R A B]

variable {R B}

/- warning: mv_polynomial.aeval_map_algebra_map -> MvPolynomial.aeval_map_algebraMap is a dubious translation:
lean 3 declaration is
  forall {R : Type.{u1}} (A : Type.{u2}) {B : Type.{u3}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} A] [_inst_3 : CommSemiring.{u3} B] [_inst_4 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2)] [_inst_5 : Algebra.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_6 : Algebra.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_7 : IsScalarTower.{u1, u2, u3} 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 (CommSemiring.toSemiring.{u2} A _inst_2))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_4))))) (SMulZeroClass.toHasSmul.{u2, u3} A 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 (CommSemiring.toSemiring.{u3} B _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5))))) (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 (CommSemiring.toSemiring.{u3} B _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_6)))))] (x : σ -> B) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} B (coeFn.{max (succ (max u4 u2)) (succ u3), max (succ (max u4 u2)) (succ u3)} (AlgHom.{u2, max u4 u2, u3} A (MvPolynomial.{u4, u2} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ A _inst_2) (MvPolynomial.commSemiring.{u2, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u2, u2, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u2} A _inst_2)) _inst_5) (fun (_x : AlgHom.{u2, max u4 u2, u3} A (MvPolynomial.{u4, u2} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ A _inst_2) (MvPolynomial.commSemiring.{u2, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u2, u2, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u2} A _inst_2)) _inst_5) => (MvPolynomial.{u4, u2} σ A _inst_2) -> B) ([anonymous].{u2, max u4 u2, u3} A (MvPolynomial.{u4, u2} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ A _inst_2) (MvPolynomial.commSemiring.{u2, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u2, u2, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u2} A _inst_2)) _inst_5) (MvPolynomial.aeval.{u2, u3, u4} A B σ _inst_2 _inst_3 _inst_5 x) (coeFn.{max (succ (max u4 u1)) (succ (max u4 u2)), max (succ (max u4 u1)) (succ (max u4 u2))} (RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ A _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ A _inst_2) (MvPolynomial.commSemiring.{u2, u4} A σ _inst_2)))) (fun (_x : RingHom.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ A _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ A _inst_2) (MvPolynomial.commSemiring.{u2, u4} A σ _inst_2)))) => (MvPolynomial.{u4, u1} σ R _inst_1) -> (MvPolynomial.{u4, u2} σ A _inst_2)) (RingHom.hasCoeToFun.{max u4 u1, max u4 u2} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u4, u2} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ A _inst_2) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u4, u2} σ A _inst_2) (MvPolynomial.commSemiring.{u2, u4} A σ _inst_2)))) (MvPolynomial.map.{u1, u2, u4} R A σ _inst_1 _inst_2 (algebraMap.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_4)) p)) (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (AlgHom.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (fun (_x : AlgHom.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) => (MvPolynomial.{u4, u1} σ R _inst_1) -> B) ([anonymous].{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (MvPolynomial.aeval.{u1, u3, u4} R B σ _inst_1 _inst_3 _inst_6 x) p)
but is expected to have type
  forall {R : Type.{u3}} (A : Type.{u1}) {B : Type.{u2}} {σ : Type.{u4}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u1} A] [_inst_3 : CommSemiring.{u2} B] [_inst_4 : Algebra.{u3, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A _inst_2)] [_inst_5 : Algebra.{u1, u2} A B _inst_2 (CommSemiring.toSemiring.{u2} B _inst_3)] [_inst_6 : Algebra.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3)] [_inst_7 : IsScalarTower.{u3, u1, u2} R A B (Algebra.toSMul.{u3, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A _inst_2) _inst_4) (Algebra.toSMul.{u1, u2} A B _inst_2 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_5) (Algebra.toSMul.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_6)] (x : σ -> B) (p : MvPolynomial.{u4, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u1} σ A _inst_2) => B) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u4), max (succ u3) (succ u4), max (succ u1) (succ u4)} (RingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (MvPolynomial.{u4, u3} σ R _inst_1) (fun (a : MvPolynomial.{u4, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u4, u3} σ R _inst_1) => MvPolynomial.{u4, u1} σ A _inst_2) a) (MulHomClass.toFunLike.{max (max u3 u1) u4, max u3 u4, max u1 u4} (RingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u4, max u3 u4, max u1 u4} (RingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u4, max u3 u4, max u1 u4} (RingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))) (RingHom.instRingHomClassRingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))))))) (MvPolynomial.map.{u3, u1, u4} R A σ _inst_1 _inst_2 (algebraMap.{u3, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A _inst_2) _inst_4)) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u1), max (succ u4) (succ u1), succ u2} (AlgHom.{u1, max u1 u4, u2} A (MvPolynomial.{u4, u1} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2)) _inst_5) (MvPolynomial.{u4, u1} σ A _inst_2) (fun (_x : MvPolynomial.{u4, u1} σ A _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u1} σ A _inst_2) => B) _x) (SMulHomClass.toFunLike.{max (max u2 u4) u1, u1, max u4 u1, u2} (AlgHom.{u1, max u1 u4, u2} A (MvPolynomial.{u4, u1} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2)) _inst_5) A (MvPolynomial.{u4, u1} σ A _inst_2) B (SMulZeroClass.toSMul.{u1, max u4 u1} A (MvPolynomial.{u4, u1} σ A _inst_2) (AddMonoid.toZero.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (AddCommMonoid.toAddMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))))))) (DistribSMul.toSMulZeroClass.{u1, max u4 u1} A (MvPolynomial.{u4, u1} σ A _inst_2) (AddMonoid.toAddZeroClass.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (AddCommMonoid.toAddMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))))))) (DistribMulAction.toDistribSMul.{u1, max u4 u1} A (MvPolynomial.{u4, u1} σ A _inst_2) (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2))) (AddCommMonoid.toAddMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))))) (Module.toDistribMulAction.{u1, max u4 u1} A (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{u1} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))))) (Algebra.toModule.{u1, max u4 u1} A (MvPolynomial.{u4, u1} σ A _inst_2) _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2))))))) (SMulZeroClass.toSMul.{u1, u2} A B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) (DistribSMul.toSMulZeroClass.{u1, u2} A B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) (DistribMulAction.toDistribSMul.{u1, u2} A B (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))))) (Module.toDistribMulAction.{u1, u2} A B (CommSemiring.toSemiring.{u1} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (Algebra.toModule.{u1, u2} A B _inst_2 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_5))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u4) u1, u1, max u4 u1, u2} (AlgHom.{u1, max u1 u4, u2} A (MvPolynomial.{u4, u1} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2)) _inst_5) A (MvPolynomial.{u4, u1} σ A _inst_2) B (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2))) (AddCommMonoid.toAddMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))))) (Module.toDistribMulAction.{u1, max u4 u1} A (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{u1} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))))) (Algebra.toModule.{u1, max u4 u1} A (MvPolynomial.{u4, u1} σ A _inst_2) _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2)))) (Module.toDistribMulAction.{u1, u2} A B (CommSemiring.toSemiring.{u1} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (Algebra.toModule.{u1, u2} A B _inst_2 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_5)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u4) u1, u1, max u4 u1, u2} (AlgHom.{u1, max u1 u4, u2} A (MvPolynomial.{u4, u1} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2)) _inst_5) A (MvPolynomial.{u4, u1} σ A _inst_2) B (MonoidWithZero.toMonoid.{u1} A (Semiring.toMonoidWithZero.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) (Module.toDistribMulAction.{u1, max u4 u1} A (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{u1} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))))) (Algebra.toModule.{u1, max u4 u1} A (MvPolynomial.{u4, u1} σ A _inst_2) _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2)))) (Module.toDistribMulAction.{u1, u2} A B (CommSemiring.toSemiring.{u1} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (Algebra.toModule.{u1, u2} A B _inst_2 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_5)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u4 u1, u2, max (max u2 u4) u1} A (MvPolynomial.{u4, u1} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2)) _inst_5 (AlgHom.{u1, max u1 u4, u2} A (MvPolynomial.{u4, u1} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2)) _inst_5) (AlgHom.algHomClass.{u1, max u4 u1, u2} A (MvPolynomial.{u4, u1} σ A _inst_2) B _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} A A σ _inst_2 _inst_2 (Algebra.id.{u1} A _inst_2)) _inst_5))))) (MvPolynomial.aeval.{u1, u2, u4} A B σ _inst_2 _inst_3 _inst_5 x) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u4), max (succ u3) (succ u4), max (succ u1) (succ u4)} (RingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (MvPolynomial.{u4, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u4, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u4, u3} σ R _inst_1) => MvPolynomial.{u4, u1} σ A _inst_2) _x) (MulHomClass.toFunLike.{max (max u3 u1) u4, max u3 u4, max u1 u4} (RingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u1) u4, max u3 u4, max u1 u4} (RingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u1) u4, max u3 u4, max u1 u4} (RingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2)))) (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))) (RingHom.instRingHomClassRingHom.{max u3 u4, max u1 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u4, u1} σ A _inst_2) (Semiring.toNonAssocSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u4, u1} σ A _inst_2) (MvPolynomial.commSemiring.{u1, u4} A σ _inst_2))))))) (MvPolynomial.map.{u3, u1, u4} R A σ _inst_1 _inst_2 (algebraMap.{u3, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A _inst_2) _inst_4)) p)) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), succ u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (MvPolynomial.{u4, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u4, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => B) _x) (SMulHomClass.toFunLike.{max (max u2 u4) u3, u3, max u4 u3, u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) R (MvPolynomial.{u4, u3} σ R _inst_1) B (SMulZeroClass.toSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toZero.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) (DistribSMul.toSMulZeroClass.{u3, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) (DistribMulAction.toDistribSMul.{u3, u2} R B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u4) u3, u3, max u4 u3, u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) R (MvPolynomial.{u4, u3} σ R _inst_1) B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u4) u3, u3, max u4 u3, u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) R (MvPolynomial.{u4, u3} σ R _inst_1) B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u4 u3, u2, max (max u2 u4) u3} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6 (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (AlgHom.algHomClass.{u3, max u4 u3, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6))))) (MvPolynomial.aeval.{u3, u2, u4} R B σ _inst_1 _inst_3 _inst_6 x) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_map_algebra_map MvPolynomial.aeval_map_algebraMapₓ'. -/
theorem aeval_map_algebraMap (x : σ → B) (p : MvPolynomial σ R) :
    aeval x (map (algebraMap R A) p) = aeval x p := by
  rw [aeval_def, aeval_def, eval₂_map, IsScalarTower.algebraMap_eq R A B]
#align mv_polynomial.aeval_map_algebra_map MvPolynomial.aeval_map_algebraMap

end Semiring

section CommSemiring

variable [CommSemiring R] [CommSemiring A] [CommSemiring B]

variable [Algebra R A] [Algebra A B] [Algebra R B] [IsScalarTower R A B]

variable {R A}

/- warning: mv_polynomial.aeval_algebra_map_apply -> MvPolynomial.aeval_algebraMap_apply is a dubious translation:
lean 3 declaration is
  forall {R : Type.{u1}} {A : Type.{u2}} (B : Type.{u3}) {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} A] [_inst_3 : CommSemiring.{u3} B] [_inst_4 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2)] [_inst_5 : Algebra.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_6 : Algebra.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_7 : IsScalarTower.{u1, u2, u3} 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 (CommSemiring.toSemiring.{u2} A _inst_2))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_4))))) (SMulZeroClass.toHasSmul.{u2, u3} A 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 (CommSemiring.toSemiring.{u3} B _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5))))) (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 (CommSemiring.toSemiring.{u3} B _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_6)))))] (x : σ -> A) (p : MvPolynomial.{u4, u1} σ R _inst_1), Eq.{succ u3} B (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (AlgHom.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (fun (_x : AlgHom.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) => (MvPolynomial.{u4, u1} σ R _inst_1) -> B) ([anonymous].{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (MvPolynomial.aeval.{u1, u3, u4} R B σ _inst_1 _inst_3 _inst_6 (Function.comp.{succ u4, succ u2, succ u3} σ A B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (fun (_x : RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) => A -> B) (RingHom.hasCoeToFun.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (algebraMap.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5)) x)) p) (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (fun (_x : RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) => A -> B) (RingHom.hasCoeToFun.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (algebraMap.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5) (coeFn.{max (succ (max u4 u1)) (succ u2), max (succ (max u4 u1)) (succ u2)} (AlgHom.{u1, max u4 u1, u2} R (MvPolynomial.{u4, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (fun (_x : AlgHom.{u1, max u4 u1, u2} R (MvPolynomial.{u4, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) => (MvPolynomial.{u4, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u4 u1, u2} R (MvPolynomial.{u4, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (MvPolynomial.aeval.{u1, u2, u4} R A σ _inst_1 _inst_2 _inst_4 x) p))
but is expected to have type
  forall {R : Type.{u3}} {A : Type.{u1}} (B : Type.{u2}) {σ : Type.{u4}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u1} A] [_inst_3 : CommSemiring.{u2} B] [_inst_4 : Algebra.{u3, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A _inst_2)] [_inst_5 : Algebra.{u1, u2} A B _inst_2 (CommSemiring.toSemiring.{u2} B _inst_3)] [_inst_6 : Algebra.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3)] [_inst_7 : IsScalarTower.{u3, u1, u2} R A B (Algebra.toSMul.{u3, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A _inst_2) _inst_4) (Algebra.toSMul.{u1, u2} A B _inst_2 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_5) (Algebra.toSMul.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_6)] (x : σ -> A) (p : MvPolynomial.{u4, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => B) p) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), succ u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (MvPolynomial.{u4, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u4, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => B) _x) (SMulHomClass.toFunLike.{max (max u2 u4) u3, u3, max u4 u3, u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) R (MvPolynomial.{u4, u3} σ R _inst_1) B (SMulZeroClass.toSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toZero.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R B (AddMonoid.toZero.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) (DistribSMul.toSMulZeroClass.{u3, u2} R B (AddMonoid.toAddZeroClass.{u2} B (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) (DistribMulAction.toDistribSMul.{u3, u2} R B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u4) u3, u3, max u4 u3, u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) R (MvPolynomial.{u4, u3} σ R _inst_1) B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u4) u3, u3, max u4 u3, u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) R (MvPolynomial.{u4, u3} σ R _inst_1) B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (Algebra.toModule.{u3, u2} R B _inst_1 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u4 u3, u2, max (max u2 u4) u3} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6 (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (AlgHom.algHomClass.{u3, max u4 u3, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6))))) (MvPolynomial.aeval.{u3, u2, u4} R B σ _inst_1 _inst_3 _inst_6 (Function.comp.{succ u4, succ u1, succ u2} σ A B (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) (algebraMap.{u1, u2} A B _inst_2 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_5)) x)) p) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) A B (NonUnitalNonAssocSemiring.toMul.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u2} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} B (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3))) A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)) (RingHom.instRingHomClassRingHom.{u1, u2} A B (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)) (Semiring.toNonAssocSemiring.{u2} B (CommSemiring.toSemiring.{u2} B _inst_3)))))) (algebraMap.{u1, u2} A B _inst_2 (CommSemiring.toSemiring.{u2} B _inst_3) _inst_5) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (succ u4) (succ u3), succ u1} (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u4, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u4, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u1 u4) u3, u3, max u4 u3, u1} (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u4, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toZero.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u1} R A (AddMonoid.toZero.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u3, u1} R A (AddMonoid.toAddZeroClass.{u1} A (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u3, u1} R A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2))))) (Module.toDistribMulAction.{u3, u1} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)))) (Algebra.toModule.{u3, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A _inst_2) _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u4) u3, u3, max u4 u3, u1} (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u4, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u1} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u1} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)))) (Algebra.toModule.{u3, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A _inst_2) _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u4) u3, u3, max u4 u3, u1} (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u4, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u1} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} A (Semiring.toNonAssocSemiring.{u1} A (CommSemiring.toSemiring.{u1} A _inst_2)))) (Algebra.toModule.{u3, u1} R A _inst_1 (CommSemiring.toSemiring.{u1} A _inst_2) _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u4 u3, u1, max (max u1 u4) u3} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u4 u3, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) (MvPolynomial.aeval.{u3, u1, u4} R A σ _inst_1 _inst_2 _inst_4 x) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_algebra_map_apply MvPolynomial.aeval_algebraMap_applyₓ'. -/
theorem aeval_algebraMap_apply (x : σ → A) (p : MvPolynomial σ R) :
    aeval (algebraMap A B ∘ x) p = algebraMap A B (MvPolynomial.aeval x p) := by
  rw [aeval_def, aeval_def, ← coe_eval₂_hom, ← coe_eval₂_hom, map_eval₂_hom, ←
    IsScalarTower.algebraMap_eq]
#align mv_polynomial.aeval_algebra_map_apply MvPolynomial.aeval_algebraMap_apply

/- warning: mv_polynomial.aeval_algebra_map_eq_zero_iff -> MvPolynomial.aeval_algebraMap_eq_zero_iff is a dubious translation:
lean 3 declaration is
  forall {R : Type.{u1}} {A : Type.{u2}} (B : Type.{u3}) {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} A] [_inst_3 : CommSemiring.{u3} B] [_inst_4 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2)] [_inst_5 : Algebra.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_6 : Algebra.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_7 : IsScalarTower.{u1, u2, u3} 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 (CommSemiring.toSemiring.{u2} A _inst_2))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_4))))) (SMulZeroClass.toHasSmul.{u2, u3} A 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 (CommSemiring.toSemiring.{u3} B _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5))))) (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 (CommSemiring.toSemiring.{u3} B _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_6)))))] [_inst_8 : NoZeroSMulDivisors.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))) (MulZeroClass.toHasZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))) (SMulZeroClass.toHasSmul.{u2, u3} A 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 (CommSemiring.toSemiring.{u3} B _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5)))))] [_inst_9 : Nontrivial.{u3} B] (x : σ -> A) (p : MvPolynomial.{u4, u1} σ R _inst_1), Iff (Eq.{succ u3} B (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (AlgHom.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (fun (_x : AlgHom.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) => (MvPolynomial.{u4, u1} σ R _inst_1) -> B) ([anonymous].{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (MvPolynomial.aeval.{u1, u3, u4} R B σ _inst_1 _inst_3 _inst_6 (Function.comp.{succ u4, succ u2, succ u3} σ A B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (fun (_x : RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) => A -> B) (RingHom.hasCoeToFun.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (algebraMap.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5)) x)) p) (OfNat.ofNat.{u3} B 0 (OfNat.mk.{u3} B 0 (Zero.zero.{u3} B (MulZeroClass.toHasZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))))) (Eq.{succ u2} A (coeFn.{max (succ (max u4 u1)) (succ u2), max (succ (max u4 u1)) (succ u2)} (AlgHom.{u1, max u4 u1, u2} R (MvPolynomial.{u4, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (fun (_x : AlgHom.{u1, max u4 u1, u2} R (MvPolynomial.{u4, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) => (MvPolynomial.{u4, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u4 u1, u2} R (MvPolynomial.{u4, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (MvPolynomial.aeval.{u1, u2, u4} R A σ _inst_1 _inst_2 _inst_4 x) p) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))))))))
but is expected to have type
  forall {R : Type.{u1}} {A : Type.{u4}} (B : Type.{u3}) {σ : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u4} A] [_inst_3 : CommSemiring.{u3} B] [_inst_4 : Algebra.{u1, u4} R A _inst_1 (CommSemiring.toSemiring.{u4} A _inst_2)] [_inst_5 : Algebra.{u4, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_6 : Algebra.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_7 : IsScalarTower.{u1, u4, u3} R A B (Algebra.toSMul.{u1, u4} R A _inst_1 (CommSemiring.toSemiring.{u4} A _inst_2) _inst_4) (Algebra.toSMul.{u4, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5) (Algebra.toSMul.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_6)] [_inst_8 : NoZeroSMulDivisors.{u4, u3} A B (CommMonoidWithZero.toZero.{u4} A (CommSemiring.toCommMonoidWithZero.{u4} A _inst_2)) (CommMonoidWithZero.toZero.{u3} B (CommSemiring.toCommMonoidWithZero.{u3} B _inst_3)) (Algebra.toSMul.{u4, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5)] [_inst_9 : Nontrivial.{u3} B] (x : σ -> A) (p : MvPolynomial.{u2, u1} σ R _inst_1), Iff (Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => B) p) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u2) (succ u1), succ u3} (AlgHom.{u1, max u1 u2, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (MvPolynomial.{u2, u1} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u1} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => B) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u2 u1, u3} (AlgHom.{u1, max u1 u2, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) R (MvPolynomial.{u2, u1} σ R _inst_1) B (SMulZeroClass.toSMul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, u3} R B (AddMonoid.toZero.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{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 (CommSemiring.toSemiring.{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 (CommSemiring.toSemiring.{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 (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u1, max u2 u1, u3} (AlgHom.{u1, max u1 u2, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) R (MvPolynomial.{u2, u1} σ R _inst_1) B (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))) (Module.toDistribMulAction.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u2) u1, u1, max u2 u1, u3} (AlgHom.{u1, max u1 u2, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) R (MvPolynomial.{u2, u1} σ R _inst_1) B (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (Module.toDistribMulAction.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u1, u3, max (max u3 u2) u1} R (MvPolynomial.{u2, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6 (AlgHom.{u1, max u1 u2, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (AlgHom.algHomClass.{u1, max u2 u1, u3} R (MvPolynomial.{u2, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6))))) (MvPolynomial.aeval.{u1, u3, u2} R B σ _inst_1 _inst_3 _inst_6 (Function.comp.{succ u2, succ u4, succ u3} σ A B (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (RingHom.{u4, u3} A B (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u4 u3, u4, u3} (RingHom.{u4, u3} A B (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) A B (NonUnitalNonAssocSemiring.toMul.{u4} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} A B (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u4 u3, u4, u3} (RingHom.{u4, u3} A B (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) A B (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)) (RingHom.instRingHomClassRingHom.{u4, u3} A B (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))))) (algebraMap.{u4, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5)) x)) p) (OfNat.ofNat.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => B) p) 0 (Zero.toOfNat0.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => B) p) (CommMonoidWithZero.toZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => B) p) (CommSemiring.toCommMonoidWithZero.{u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => B) p) _inst_3))))) (Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => A) p) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u1), max (succ u2) (succ u1), succ u4} (AlgHom.{u1, max u1 u2, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_2) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (MvPolynomial.{u2, u1} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u1} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u1, u1, max u2 u1, u4} (AlgHom.{u1, max u1 u2, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_2) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) R (MvPolynomial.{u2, u1} σ R _inst_1) A (SMulZeroClass.toSMul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toZero.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, u4} R A (AddMonoid.toZero.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, u4} R A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, u4} R A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2))))) (Module.toDistribMulAction.{u1, u4} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)))) (Algebra.toModule.{u1, u4} R A _inst_1 (CommSemiring.toSemiring.{u4} A _inst_2) _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u1, u1, max u2 u1, u4} (AlgHom.{u1, max u1 u2, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_2) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) R (MvPolynomial.{u2, u1} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u4} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2))))) (Module.toDistribMulAction.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u4} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)))) (Algebra.toModule.{u1, u4} R A _inst_1 (CommSemiring.toSemiring.{u4} A _inst_2) _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u1, u1, max u2 u1, u4} (AlgHom.{u1, max u1 u2, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_2) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) R (MvPolynomial.{u2, u1} σ R _inst_1) A (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2))) (Module.toDistribMulAction.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, u4} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} A (Semiring.toNonAssocSemiring.{u4} A (CommSemiring.toSemiring.{u4} A _inst_2)))) (Algebra.toModule.{u1, u4} R A _inst_1 (CommSemiring.toSemiring.{u4} A _inst_2) _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u1, u4, max (max u4 u2) u1} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_2) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4 (AlgHom.{u1, max u1 u2, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_2) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u1, max u2 u1, u4} R (MvPolynomial.{u2, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{u4} A _inst_2) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4))))) (MvPolynomial.aeval.{u1, u4, u2} R A σ _inst_1 _inst_2 _inst_4 x) p) (OfNat.ofNat.{u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => A) p) 0 (Zero.toOfNat0.{u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => A) p) (CommMonoidWithZero.toZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => A) p) (CommSemiring.toCommMonoidWithZero.{u4} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => A) p) _inst_2)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_algebra_map_eq_zero_iff MvPolynomial.aeval_algebraMap_eq_zero_iffₓ'. -/
theorem aeval_algebraMap_eq_zero_iff [NoZeroSMulDivisors A B] [Nontrivial B] (x : σ → A)
    (p : MvPolynomial σ R) : aeval (algebraMap A B ∘ x) p = 0 ↔ aeval x p = 0 := by
  rw [aeval_algebra_map_apply, Algebra.algebraMap_eq_smul_one, smul_eq_zero,
    iff_false_intro (one_ne_zero' B), or_false_iff]
#align mv_polynomial.aeval_algebra_map_eq_zero_iff MvPolynomial.aeval_algebraMap_eq_zero_iff

/- warning: mv_polynomial.aeval_algebra_map_eq_zero_iff_of_injective -> MvPolynomial.aeval_algebraMap_eq_zero_iff_of_injective is a dubious translation:
lean 3 declaration is
  forall {R : Type.{u1}} {A : Type.{u2}} (B : Type.{u3}) {σ : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} A] [_inst_3 : CommSemiring.{u3} B] [_inst_4 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2)] [_inst_5 : Algebra.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_6 : Algebra.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3)] [_inst_7 : IsScalarTower.{u1, u2, u3} 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 (CommSemiring.toSemiring.{u2} A _inst_2))))))) (SMulWithZero.toSmulZeroClass.{u1, u2} R A (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))))) (MulActionWithZero.toSMulWithZero.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} A (AddMonoid.toAddZeroClass.{u2} A (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))))) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_4))))) (SMulZeroClass.toHasSmul.{u2, u3} A 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 (CommSemiring.toSemiring.{u3} B _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u2, u3} A B (MulZeroClass.toHasZero.{u2} A (MulZeroOneClass.toMulZeroClass.{u2} A (MonoidWithZero.toMulZeroOneClass.{u2} A (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u3} A B (Semiring.toMonoidWithZero.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (Module.toMulActionWithZero.{u2, u3} A B (CommSemiring.toSemiring.{u2} A _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5))))) (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 (CommSemiring.toSemiring.{u3} B _inst_3))))))) (SMulWithZero.toSmulZeroClass.{u1, u3} R B (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u1, u3} R B (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u3} B (AddMonoid.toAddZeroClass.{u3} B (AddCommMonoid.toAddMonoid.{u3} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} R B (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3)))) (Algebra.toModule.{u1, u3} R B _inst_1 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_6)))))] {x : σ -> A} {p : MvPolynomial.{u4, u1} σ R _inst_1}, (Function.Injective.{succ u2, succ u3} A B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (fun (_x : RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) => A -> B) (RingHom.hasCoeToFun.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (algebraMap.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5))) -> (Iff (Eq.{succ u3} B (coeFn.{max (succ (max u4 u1)) (succ u3), max (succ (max u4 u1)) (succ u3)} (AlgHom.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (fun (_x : AlgHom.{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) => (MvPolynomial.{u4, u1} σ R _inst_1) -> B) ([anonymous].{u1, max u4 u1, u3} R (MvPolynomial.{u4, u1} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u3} B _inst_3) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_6) (MvPolynomial.aeval.{u1, u3, u4} R B σ _inst_1 _inst_3 _inst_6 (Function.comp.{succ u4, succ u2, succ u3} σ A B (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (fun (_x : RingHom.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) => A -> B) (RingHom.hasCoeToFun.{u2, u3} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))) (algebraMap.{u2, u3} A B _inst_2 (CommSemiring.toSemiring.{u3} B _inst_3) _inst_5)) x)) p) (OfNat.ofNat.{u3} B 0 (OfNat.mk.{u3} B 0 (Zero.zero.{u3} B (MulZeroClass.toHasZero.{u3} B (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} B (Semiring.toNonAssocSemiring.{u3} B (CommSemiring.toSemiring.{u3} B _inst_3))))))))) (Eq.{succ u2} A (coeFn.{max (succ (max u4 u1)) (succ u2), max (succ (max u4 u1)) (succ u2)} (AlgHom.{u1, max u4 u1, u2} R (MvPolynomial.{u4, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (fun (_x : AlgHom.{u1, max u4 u1, u2} R (MvPolynomial.{u4, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) => (MvPolynomial.{u4, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u4 u1, u2} R (MvPolynomial.{u4, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_4) (MvPolynomial.aeval.{u1, u2, u4} R A σ _inst_1 _inst_2 _inst_4 x) p) (OfNat.ofNat.{u2} A 0 (OfNat.mk.{u2} A 0 (Zero.zero.{u2} A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))))))))
but is expected to have type
  forall {R : Type.{u3}} {A : Type.{u2}} (B : Type.{u1}) {σ : Type.{u4}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u2} A] [_inst_3 : CommSemiring.{u1} B] [_inst_4 : Algebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2)] [_inst_5 : Algebra.{u2, u1} A B _inst_2 (CommSemiring.toSemiring.{u1} B _inst_3)] [_inst_6 : Algebra.{u3, u1} R B _inst_1 (CommSemiring.toSemiring.{u1} B _inst_3)] [_inst_7 : IsScalarTower.{u3, u2, u1} R A B (Algebra.toSMul.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_4) (Algebra.toSMul.{u2, u1} A B _inst_2 (CommSemiring.toSemiring.{u1} B _inst_3) _inst_5) (Algebra.toSMul.{u3, u1} R B _inst_1 (CommSemiring.toSemiring.{u1} B _inst_3) _inst_6)] {x : σ -> A} {p : MvPolynomial.{u4, u3} σ R _inst_1}, (Function.Injective.{succ u2, succ u1} A B (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) A B (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))))) (algebraMap.{u2, u1} A B _inst_2 (CommSemiring.toSemiring.{u1} B _inst_3) _inst_5))) -> (Iff (Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => B) p) (FunLike.coe.{max (max (succ u1) (succ u4)) (succ u3), max (succ u4) (succ u3), succ u1} (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (MvPolynomial.{u4, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u4, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => B) _x) (SMulHomClass.toFunLike.{max (max u1 u4) u3, u3, max u4 u3, u1} (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) R (MvPolynomial.{u4, u3} σ R _inst_1) B (SMulZeroClass.toSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toZero.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (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 (CommSemiring.toSemiring.{u1} B _inst_3)))))) (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 (CommSemiring.toSemiring.{u1} B _inst_3)))))) (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 (CommSemiring.toSemiring.{u1} B _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 (CommSemiring.toSemiring.{u1} B _inst_3)))) (Algebra.toModule.{u3, u1} R B _inst_1 (CommSemiring.toSemiring.{u1} B _inst_3) _inst_6))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u4) u3, u3, max u4 u3, u1} (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) R (MvPolynomial.{u4, u3} σ R _inst_1) B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u1} B (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))) (Algebra.toModule.{u3, u1} R B _inst_1 (CommSemiring.toSemiring.{u1} B _inst_3) _inst_6)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u4) u3, u3, max u4 u3, u1} (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) R (MvPolynomial.{u4, u3} σ R _inst_1) B (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u1} R B (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))) (Algebra.toModule.{u3, u1} R B _inst_1 (CommSemiring.toSemiring.{u1} B _inst_3) _inst_6)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u4 u3, u1, max (max u1 u4) u3} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6 (AlgHom.{u3, max u3 u4, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6) (AlgHom.algHomClass.{u3, max u4 u3, u1} R (MvPolynomial.{u4, u3} σ R _inst_1) B _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u1} B _inst_3) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_6))))) (MvPolynomial.aeval.{u3, u1, u4} R B σ _inst_1 _inst_3 _inst_6 (Function.comp.{succ u4, succ u2, succ u1} σ A B (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (RingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : A) => B) _x) (MulHomClass.toFunLike.{max u2 u1, u2, u1} (RingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) A B (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (NonUnitalNonAssocSemiring.toMul.{u1} B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) A B (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} B (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, u2, u1} (RingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3))) A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)) (RingHom.instRingHomClassRingHom.{u2, u1} A B (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)) (Semiring.toNonAssocSemiring.{u1} B (CommSemiring.toSemiring.{u1} B _inst_3)))))) (algebraMap.{u2, u1} A B _inst_2 (CommSemiring.toSemiring.{u1} B _inst_3) _inst_5)) x)) p) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => B) p) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => B) p) (CommMonoidWithZero.toZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => B) p) (CommSemiring.toCommMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => B) p) _inst_3))))) (Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => A) p) (FunLike.coe.{max (max (succ u2) (succ u4)) (succ u3), max (succ u4) (succ u3), succ u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (MvPolynomial.{u4, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u4, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u4) u3, u3, max u4 u3, u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u4, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toZero.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (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 (CommSemiring.toSemiring.{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 (CommSemiring.toSemiring.{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 (CommSemiring.toSemiring.{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 (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_4))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u4) u3, u3, max u4 u3, u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u4, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_4)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u4) u3, u3, max u4 u3, u2} (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) R (MvPolynomial.{u4, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))) (Module.toDistribMulAction.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1))))) (Algebra.toModule.{u3, max u4 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_4)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u4 u3, u2, max (max u2 u4) u3} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4 (AlgHom.{u3, max u3 u4, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4) (AlgHom.algHomClass.{u3, max u4 u3, u2} R (MvPolynomial.{u4, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_4))))) (MvPolynomial.aeval.{u3, u2, u4} R A σ _inst_1 _inst_2 _inst_4 x) p) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => A) p) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => A) p) (CommMonoidWithZero.toZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => A) p) (CommSemiring.toCommMonoidWithZero.{u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => A) p) _inst_2))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_algebra_map_eq_zero_iff_of_injective MvPolynomial.aeval_algebraMap_eq_zero_iff_of_injectiveₓ'. -/
theorem aeval_algebraMap_eq_zero_iff_of_injective {x : σ → A} {p : MvPolynomial σ R}
    (h : Function.Injective (algebraMap A B)) : aeval (algebraMap A B ∘ x) p = 0 ↔ aeval x p = 0 :=
  by rw [aeval_algebra_map_apply, ← (algebraMap A B).map_zero, h.eq_iff]
#align mv_polynomial.aeval_algebra_map_eq_zero_iff_of_injective MvPolynomial.aeval_algebraMap_eq_zero_iff_of_injective

end CommSemiring

end MvPolynomial

namespace Subalgebra

open MvPolynomial

section CommSemiring

variable {R A} [CommSemiring R] [CommSemiring A] [Algebra R A]

/- warning: subalgebra.mv_polynomial_aeval_coe -> Subalgebra.mvPolynomial_aeval_coe is a dubious translation:
lean 3 declaration is
  forall {R : Type.{u1}} {A : Type.{u2}} {σ : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : CommSemiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2)] (S : Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (x : σ -> (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S)) (p : MvPolynomial.{u3, u1} σ R _inst_1), Eq.{succ u2} A (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) => (MvPolynomial.{u3, u1} σ R _inst_1) -> A) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u1, u2, u3} R A σ _inst_1 _inst_2 _inst_3 (fun (i : σ) => (fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) A (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u2} A (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S))))) (x i))) p) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) A (HasLiftT.mk.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) A (CoeTCₓ.coe.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) A (coeBase.{succ u2, succ u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) A (coeSubtype.{succ u2} A (fun (x : A) => Membership.Mem.{u2, u2} A (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.hasMem.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S))))) (coeFn.{max (succ (max u3 u1)) (succ u2), max (succ (max u3 u1)) (succ u2)} (AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) (Subalgebra.toCommSemiring.{u1, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (Subalgebra.algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)) (fun (_x : AlgHom.{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) (Subalgebra.toCommSemiring.{u1, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (Subalgebra.algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)) => (MvPolynomial.{u3, u1} σ R _inst_1) -> (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S)) ([anonymous].{u1, max u3 u1, u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) (Subalgebra.toCommSemiring.{u1, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (Subalgebra.algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)) (MvPolynomial.aeval.{u1, u2, u3} R (coeSort.{succ u2, succ (succ u2)} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Subalgebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.setLike.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) S) σ _inst_1 (Subalgebra.toCommSemiring.{u1, u2} R A _inst_1 _inst_2 _inst_3 S) (Subalgebra.algebra.{u1, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S) x) p))
but is expected to have type
  forall {R : Type.{u3}} {A : Type.{u2}} {σ : Type.{u1}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u2} A] [_inst_3 : Algebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2)] (S : Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (x : σ -> (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S))) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => A) p) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => A) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u1 u3, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u3} σ R _inst_1) A (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (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 (CommSemiring.toSemiring.{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 (CommSemiring.toSemiring.{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 (CommSemiring.toSemiring.{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 (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u1 u3, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u1) u3, u3, max u1 u3, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u3} σ R _inst_1) A (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R A (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A (CommSemiring.toSemiring.{u2} A _inst_2)))) (Algebra.toModule.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u2, max (max u2 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3 (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u3, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) A _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} A _inst_2) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u3, u2, u1} R A σ _inst_1 _inst_2 _inst_3 (fun (i : σ) => Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) S)) (x i))) p) (Subtype.val.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Set.{u2} A) (Set.instMembershipSet.{u2} A) x (SetLike.coe.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) S)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u1) (succ u3), succ u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)) (MvPolynomial.{u1, u3} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} σ R _inst_1) => Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u1 u3, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)) R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (SMulZeroClass.toSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (SMulZeroClass.toSMul.{u3, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (AddMonoid.toZero.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Semiring.toNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S))))))) (DistribSMul.toSMulZeroClass.{u3, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (AddMonoid.toAddZeroClass.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Semiring.toNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S))))))) (DistribMulAction.toDistribSMul.{u3, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Semiring.toNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)))))) (Module.toDistribMulAction.{u3, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Semiring.toNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S))))) (Algebra.toModule.{u3, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u1 u3, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)) R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Semiring.toNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Semiring.toNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S))))) (Algebra.toModule.{u3, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u1) u3, u3, max u1 u3, u2} (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)) R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Semiring.toNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)))) (Module.toDistribMulAction.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Algebra.toModule.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (Module.toDistribMulAction.{u3, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Semiring.toNonAssocSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S))))) (Algebra.toModule.{u3, u2} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, u2, max (max u2 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S) (AlgHom.{u3, max u3 u1, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)) (AlgHom.algHomClass.{u3, max u1 u3, u2} R (MvPolynomial.{u1, u3} σ R _inst_1) (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u2} (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S)))))) (MvPolynomial.aeval.{u3, u2, u1} R (Subtype.{succ u2} A (fun (x : A) => Membership.mem.{u2, u2} A (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) (SetLike.instMembership.{u2, u2} (Subalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3) A (Subalgebra.instSetLikeSubalgebra.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3)) x S)) σ _inst_1 (Subalgebra.toCommSemiring.{u3, u2} R A _inst_1 _inst_2 _inst_3 S) (Subalgebra.instAlgebraSubtypeMemSubalgebraInstMembershipInstSetLikeSubalgebraToSemiring.{u3, u2} R A _inst_1 (CommSemiring.toSemiring.{u2} A _inst_2) _inst_3 S) x) p))
Case conversion may be inaccurate. Consider using '#align subalgebra.mv_polynomial_aeval_coe Subalgebra.mvPolynomial_aeval_coeₓ'. -/
@[simp]
theorem mvPolynomial_aeval_coe (S : Subalgebra R A) (x : σ → S) (p : MvPolynomial σ R) :
    aeval (fun i => (x i : A)) p = aeval x p := by convert aeval_algebra_map_apply A x p
#align subalgebra.mv_polynomial_aeval_coe Subalgebra.mvPolynomial_aeval_coe

end CommSemiring

end Subalgebra