/-
Copyright (c) 2017 Johannes Hölzl. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Johannes Hölzl, Johan Commelin, Mario Carneiro

! This file was ported from Lean 3 source module data.mv_polynomial.rename
! 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.Data.MvPolynomial.Basic

/-!
# Renaming variables of polynomials

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

This file establishes the `rename` operation on multivariate polynomials,
which modifies the set of variables.

## Main declarations

* `mv_polynomial.rename`
* `mv_polynomial.rename_equiv`

## Notation

As in other polynomial files, we typically use the notation:

+ `σ τ α : Type*` (indexing the variables)

+ `R S : Type*` `[comm_semiring R]` `[comm_semiring S]` (the coefficients)

+ `s : σ →₀ ℕ`, a function from `σ` to `ℕ` which is zero away from a finite set.
This will give rise to a monomial in `mv_polynomial σ R` which mathematicians might call `X^s`

+ `r : R` elements of the coefficient ring

+ `i : σ`, with corresponding monomial `X i`, often denoted `X_i` by mathematicians

+ `p : mv_polynomial σ α`

-/

noncomputable section

open Classical BigOperators

open Set Function Finsupp AddMonoidAlgebra

open BigOperators

variable {σ τ α R S : Type _} [CommSemiring R] [CommSemiring S]

namespace MvPolynomial

section Rename

#print MvPolynomial.rename /-
/-- Rename all the variables in a multivariable polynomial. -/
def rename (f : σ → τ) : MvPolynomial σ R →ₐ[R] MvPolynomial τ R :=
  aeval (X ∘ f)
#align mv_polynomial.rename MvPolynomial.rename
-/

/- warning: mv_polynomial.rename_C -> MvPolynomial.rename_C is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ) (r : R), Eq.{max (succ u2) (succ u3)} (MvPolynomial.{u2, u3} τ R _inst_1) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f) (coeFn.{max (succ u3) (succ (max u1 u3)), max (succ u3) (succ (max u1 u3))} (RingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (fun (_x : RingHom.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) => R -> (MvPolynomial.{u1, u3} σ R _inst_1)) (RingHom.hasCoeToFun.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)))) (MvPolynomial.C.{u3, u1} R σ _inst_1) r)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (RingHom.{u3, max u2 u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (fun (_x : RingHom.{u3, max u2 u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) => R -> (MvPolynomial.{u2, u3} τ R _inst_1)) (RingHom.hasCoeToFun.{u3, max u2 u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)))) (MvPolynomial.C.{u3, u2} R τ _inst_1) r)
but is expected to have type
  forall {σ : Type.{u1}} {τ : Type.{u3}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (f : σ -> τ) (r : R), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u3, u2} τ R _inst_1) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) a) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (MvPolynomial.C.{u2, u1} R σ _inst_1) r)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u2), max (succ u3) (succ u2)} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u3, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, max u3 u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u1 u2, max u3 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u1, u3, u2} σ τ R _inst_1 f) (FunLike.coe.{max (succ u1) (succ u2), succ u2, max (succ u1) (succ u2)} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u1, u2} σ R _inst_1) _x) (MulHomClass.toFunLike.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u2, max u1 u2} (RingHom.{u2, max u2 u1} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (RingHom.instRingHomClassRingHom.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (MvPolynomial.C.{u2, u1} R σ _inst_1) r)) (FunLike.coe.{max (succ u3) (succ u2), succ u2, max (succ u3) (succ u2)} (RingHom.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => MvPolynomial.{u3, u2} τ R _inst_1) _x) (MulHomClass.toFunLike.{max u3 u2, u2, max u3 u2} (RingHom.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) R (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toMul.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u2, u2, max u3 u2} (RingHom.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) R (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u2, u2, max u3 u2} (RingHom.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) R (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (RingHom.instRingHomClassRingHom.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (MvPolynomial.C.{u2, u3} R τ _inst_1) r)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_C MvPolynomial.rename_Cₓ'. -/
@[simp]
theorem rename_C (f : σ → τ) (r : R) : rename f (C r) = C r :=
  eval₂_C _ _ _
#align mv_polynomial.rename_C MvPolynomial.rename_C

/- warning: mv_polynomial.rename_X -> MvPolynomial.rename_X is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ) (i : σ), Eq.{max (succ u2) (succ u3)} (MvPolynomial.{u2, u3} τ R _inst_1) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f) (MvPolynomial.X.{u3, u1} R σ _inst_1 i)) (MvPolynomial.X.{u3, u2} R τ _inst_1 (f i))
but is expected to have type
  forall {σ : Type.{u1}} {τ : Type.{u3}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (f : σ -> τ) (i : σ), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u2), max (succ u3) (succ u2)} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u3, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, max u3 u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u1 u2, max u3 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u1, u3, u2} σ τ R _inst_1 f) (MvPolynomial.X.{u2, u1} R σ _inst_1 i)) (MvPolynomial.X.{u2, u3} R τ _inst_1 (f i))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_X MvPolynomial.rename_Xₓ'. -/
@[simp]
theorem rename_X (f : σ → τ) (i : σ) : rename f (X i : MvPolynomial σ R) = X (f i) :=
  eval₂_X _ _ _
#align mv_polynomial.rename_X MvPolynomial.rename_X

/- warning: mv_polynomial.map_rename -> MvPolynomial.map_rename is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} {S : Type.{u4}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S] (f : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (g : σ -> τ) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{max (succ u2) (succ u4)} (MvPolynomial.{u2, u4} τ S _inst_2) (coeFn.{max (succ (max u2 u3)) (succ (max u2 u4)), max (succ (max u2 u3)) (succ (max u2 u4))} (RingHom.{max u2 u3, max u2 u4} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{u2, u4} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ S _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ S _inst_2) (MvPolynomial.commSemiring.{u4, u2} S τ _inst_2)))) (fun (_x : RingHom.{max u2 u3, max u2 u4} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{u2, u4} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ S _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ S _inst_2) (MvPolynomial.commSemiring.{u4, u2} S τ _inst_2)))) => (MvPolynomial.{u2, u3} τ R _inst_1) -> (MvPolynomial.{u2, u4} τ S _inst_2)) (RingHom.hasCoeToFun.{max u2 u3, max u2 u4} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{u2, u4} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ S _inst_2) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ S _inst_2) (MvPolynomial.commSemiring.{u4, u2} S τ _inst_2)))) (MvPolynomial.map.{u3, u4, u2} R S τ _inst_1 _inst_2 f) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 g) p)) (coeFn.{max (succ (max u1 u4)) (succ (max u2 u4)), max (succ (max u1 u4)) (succ (max u2 u4))} (AlgHom.{u4, max u1 u4, max u2 u4} S (MvPolynomial.{u1, u4} σ S _inst_2) (MvPolynomial.{u2, u4} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ S _inst_2) (MvPolynomial.commSemiring.{u4, u1} S σ _inst_2)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ S _inst_2) (MvPolynomial.commSemiring.{u4, u2} S τ _inst_2)) (MvPolynomial.algebra.{u4, u4, u1} S S σ _inst_2 _inst_2 (Algebra.id.{u4} S _inst_2)) (MvPolynomial.algebra.{u4, u4, u2} S S τ _inst_2 _inst_2 (Algebra.id.{u4} S _inst_2))) (fun (_x : AlgHom.{u4, max u1 u4, max u2 u4} S (MvPolynomial.{u1, u4} σ S _inst_2) (MvPolynomial.{u2, u4} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ S _inst_2) (MvPolynomial.commSemiring.{u4, u1} S σ _inst_2)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ S _inst_2) (MvPolynomial.commSemiring.{u4, u2} S τ _inst_2)) (MvPolynomial.algebra.{u4, u4, u1} S S σ _inst_2 _inst_2 (Algebra.id.{u4} S _inst_2)) (MvPolynomial.algebra.{u4, u4, u2} S S τ _inst_2 _inst_2 (Algebra.id.{u4} S _inst_2))) => (MvPolynomial.{u1, u4} σ S _inst_2) -> (MvPolynomial.{u2, u4} τ S _inst_2)) ([anonymous].{u4, max u1 u4, max u2 u4} S (MvPolynomial.{u1, u4} σ S _inst_2) (MvPolynomial.{u2, u4} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ S _inst_2) (MvPolynomial.commSemiring.{u4, u1} S σ _inst_2)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ S _inst_2) (MvPolynomial.commSemiring.{u4, u2} S τ _inst_2)) (MvPolynomial.algebra.{u4, u4, u1} S S σ _inst_2 _inst_2 (Algebra.id.{u4} S _inst_2)) (MvPolynomial.algebra.{u4, u4, u2} S S τ _inst_2 _inst_2 (Algebra.id.{u4} S _inst_2))) (MvPolynomial.rename.{u1, u2, u4} σ τ S _inst_2 g) (coeFn.{max (succ (max u1 u3)) (succ (max u1 u4)), max (succ (max u1 u3)) (succ (max u1 u4))} (RingHom.{max u1 u3, max u1 u4} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ S _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ S _inst_2) (MvPolynomial.commSemiring.{u4, u1} S σ _inst_2)))) (fun (_x : RingHom.{max u1 u3, max u1 u4} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ S _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ S _inst_2) (MvPolynomial.commSemiring.{u4, u1} S σ _inst_2)))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u1, u4} σ S _inst_2)) (RingHom.hasCoeToFun.{max u1 u3, max u1 u4} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u4} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ S _inst_2) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ S _inst_2) (MvPolynomial.commSemiring.{u4, u1} S σ _inst_2)))) (MvPolynomial.map.{u3, u4, u1} R S σ _inst_1 _inst_2 f) p))
but is expected to have type
  forall {σ : Type.{u2}} {τ : Type.{u1}} {R : Type.{u4}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u4} R] [_inst_2 : CommSemiring.{u3} S] (f : RingHom.{u4, u3} R S (Semiring.toNonAssocSemiring.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1)) (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))) (g : σ -> τ) (p : MvPolynomial.{u2, u4} σ R _inst_1), Eq.{max (succ u1) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u4} τ R _inst_1) => MvPolynomial.{u1, u3} τ S _inst_2) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u4), max (succ u2) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (a : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => MvPolynomial.{u1, u4} τ R _inst_1) a) (SMulHomClass.toFunLike.{max (max u2 u1) u4, u4, max u2 u4, max u1 u4} (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) (SMulZeroClass.toSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (SMulZeroClass.toSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (AddMonoid.toZero.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u4, u4, max u2 u4, max u1 u4} (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u1) u4, u4, max u2 u4, max u1 u4} (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u2 u4, max u1 u4, max (max u2 u1) u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (AlgHom.algHomClass.{u4, max u2 u4, max u1 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (MvPolynomial.rename.{u2, u1, u4} σ τ R _inst_1 g) p)) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u1), max (succ u4) (succ u1), max (succ u3) (succ u1)} (RingHom.{max u4 u1, max u3 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)))) (MvPolynomial.{u1, u4} τ R _inst_1) (fun (_x : MvPolynomial.{u1, u4} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u4} τ R _inst_1) => MvPolynomial.{u1, u3} τ S _inst_2) _x) (MulHomClass.toFunLike.{max (max u4 u3) u1, max u4 u1, max u3 u1} (RingHom.{max u4 u1, max u3 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)))) (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.{u1, u3} τ S _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u4 u3) u1, max u4 u1, max u3 u1} (RingHom.{max u4 u1, max u3 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)))) (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.{u1, u3} τ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u4 u3) u1, max u4 u1, max u3 u1} (RingHom.{max u4 u1, max u3 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)))) (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2))) (RingHom.instRingHomClassRingHom.{max u4 u1, max u3 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2))))))) (MvPolynomial.map.{u4, u3, u1} R S τ _inst_1 _inst_2 f) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u4), max (succ u2) (succ u4), max (succ u1) (succ u4)} (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} σ R _inst_1) => MvPolynomial.{u1, u4} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u4, u4, max u2 u4, max u1 u4} (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) (SMulZeroClass.toSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toZero.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (SMulZeroClass.toSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (AddMonoid.toZero.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u4, u4, max u2 u4, max u1 u4} (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u1) u4, u4, max u2 u4, max u1 u4} (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u2 u4, max u1 u4, max (max u2 u1) u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (AlgHom.{u4, max u4 u2, max u4 u1} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (AlgHom.algHomClass.{u4, max u2 u4, max u1 u4} R (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u1, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (MvPolynomial.rename.{u2, u1, u4} σ τ R _inst_1 g) p)) (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (AlgHom.{u3, max u3 u2, max u3 u1} S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2))) (MvPolynomial.{u2, u3} σ S _inst_2) (fun (_x : MvPolynomial.{u2, u3} σ S _inst_2) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u3} σ S _inst_2) => MvPolynomial.{u1, u3} τ S _inst_2) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgHom.{u3, max u3 u2, max u3 u1} S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2))) S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) (SMulZeroClass.toSMul.{u3, max u2 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) (AddMonoid.toZero.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) (AddMonoid.toAddZeroClass.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)))))) (Module.toDistribMulAction.{u3, max u2 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2))))) (Algebra.toModule.{u3, max u2 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} S (MvPolynomial.{u1, u3} τ S _inst_2) (AddMonoid.toZero.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} S (MvPolynomial.{u1, u3} τ S _inst_2) (AddMonoid.toAddZeroClass.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} S (MvPolynomial.{u1, u3} τ S _inst_2) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)))))) (Module.toDistribMulAction.{u3, max u1 u3} S (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2))))) (Algebra.toModule.{u3, max u1 u3} S (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgHom.{u3, max u3 u2, max u3 u1} S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2))) S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)))))) (Module.toDistribMulAction.{u3, max u2 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2))))) (Algebra.toModule.{u3, max u2 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)))) (Module.toDistribMulAction.{u3, max u1 u3} S (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2))))) (Algebra.toModule.{u3, max u1 u3} S (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgHom.{u3, max u3 u2, max u3 u1} S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2))) S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) (MonoidWithZero.toMonoid.{u3} S (Semiring.toMonoidWithZero.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)))) (Module.toDistribMulAction.{u3, max u2 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2))))) (Algebra.toModule.{u3, max u2 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)))) (Module.toDistribMulAction.{u3, max u1 u3} S (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{u3} S _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2))))) (Algebra.toModule.{u3, max u1 u3} S (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)) (AlgHom.{u3, max u3 u2, max u3 u1} S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2))) (AlgHom.algHomClass.{u3, max u2 u3, max u1 u3} S (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.{u1, u3} τ S _inst_2) _inst_2 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ S _inst_2) (MvPolynomial.commSemiring.{u3, u1} S τ _inst_2)) (MvPolynomial.algebra.{u3, u3, u2} S S σ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2)) (MvPolynomial.algebra.{u3, u3, u1} S S τ _inst_2 _inst_2 (Algebra.id.{u3} S _inst_2))))))) (MvPolynomial.rename.{u2, u1, u3} σ τ S _inst_2 g) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (RingHom.{max u4 u2, max u3 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)))) (MvPolynomial.{u2, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u4} σ R _inst_1) => MvPolynomial.{u2, u3} σ S _inst_2) _x) (MulHomClass.toFunLike.{max (max u4 u3) u2, max u4 u2, max u3 u2} (RingHom.{max u4 u2, max u3 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)))) (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u2, u3} σ S _inst_2) (NonUnitalNonAssocSemiring.toMul.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2))))) (NonUnitalRingHomClass.toMulHomClass.{max (max u4 u3) u2, max u4 u2, max u3 u2} (RingHom.{max u4 u2, max u3 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)))) (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u2, u3} σ S _inst_2) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)))) (RingHomClass.toNonUnitalRingHomClass.{max (max u4 u3) u2, max u4 u2, max u3 u2} (RingHom.{max u4 u2, max u3 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2)))) (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2))) (RingHom.instRingHomClassRingHom.{max u4 u2, max u3 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.{u2, u3} σ S _inst_2) (Semiring.toNonAssocSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u2, u3} σ S _inst_2) (MvPolynomial.commSemiring.{u3, u2} S σ _inst_2))))))) (MvPolynomial.map.{u4, u3, u2} R S σ _inst_1 _inst_2 f) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.map_rename MvPolynomial.map_renameₓ'. -/
theorem map_rename (f : R →+* S) (g : σ → τ) (p : MvPolynomial σ R) :
    map f (rename g p) = rename g (map f p) :=
  MvPolynomial.induction_on p (fun a => by simp only [map_C, rename_C])
    (fun p q hp hq => by simp only [hp, hq, AlgHom.map_add, RingHom.map_add]) fun p n hp => by
    simp only [hp, rename_X, map_X, RingHom.map_mul, AlgHom.map_mul]
#align mv_polynomial.map_rename MvPolynomial.map_rename

/- warning: mv_polynomial.rename_rename -> MvPolynomial.rename_rename is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {α : Type.{u3}} {R : Type.{u4}} [_inst_1 : CommSemiring.{u4} R] (f : σ -> τ) (g : τ -> α) (p : MvPolynomial.{u1, u4} σ R _inst_1), Eq.{max (succ u3) (succ u4)} (MvPolynomial.{u3, u4} α R _inst_1) (coeFn.{max (succ (max u2 u4)) (succ (max u3 u4)), max (succ (max u2 u4)) (succ (max u3 u4))} (AlgHom.{u4, max u2 u4, max u3 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.{u3, u4} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u3, u4} α R _inst_1) (MvPolynomial.commSemiring.{u4, u3} R α _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u3} R R α _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (fun (_x : AlgHom.{u4, max u2 u4, max u3 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.{u3, u4} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u3, u4} α R _inst_1) (MvPolynomial.commSemiring.{u4, u3} R α _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u3} R R α _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) => (MvPolynomial.{u2, u4} τ R _inst_1) -> (MvPolynomial.{u3, u4} α R _inst_1)) ([anonymous].{u4, max u2 u4, max u3 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.{u3, u4} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u3, u4} α R _inst_1) (MvPolynomial.commSemiring.{u4, u3} R α _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u3} R R α _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (MvPolynomial.rename.{u2, u3, u4} τ α R _inst_1 g) (coeFn.{max (succ (max u1 u4)) (succ (max u2 u4)), max (succ (max u1 u4)) (succ (max u2 u4))} (AlgHom.{u4, max u1 u4, max u2 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (fun (_x : AlgHom.{u4, max u1 u4, max u2 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) => (MvPolynomial.{u1, u4} σ R _inst_1) -> (MvPolynomial.{u2, u4} τ R _inst_1)) ([anonymous].{u4, max u1 u4, max u2 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (MvPolynomial.rename.{u1, u2, u4} σ τ R _inst_1 f) p)) (coeFn.{max (succ (max u1 u4)) (succ (max u3 u4)), max (succ (max u1 u4)) (succ (max u3 u4))} (AlgHom.{u4, max u1 u4, max u3 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u3, u4} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u3, u4} α R _inst_1) (MvPolynomial.commSemiring.{u4, u3} R α _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u3} R R α _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (fun (_x : AlgHom.{u4, max u1 u4, max u3 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u3, u4} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u3, u4} α R _inst_1) (MvPolynomial.commSemiring.{u4, u3} R α _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u3} R R α _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) => (MvPolynomial.{u1, u4} σ R _inst_1) -> (MvPolynomial.{u3, u4} α R _inst_1)) ([anonymous].{u4, max u1 u4, max u3 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u3, u4} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u3, u4} α R _inst_1) (MvPolynomial.commSemiring.{u4, u3} R α _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u3} R R α _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (MvPolynomial.rename.{u1, u3, u4} σ α R _inst_1 (Function.comp.{succ u1, succ u2, succ u3} σ τ α g f)) p)
but is expected to have type
  forall {σ : Type.{u4}} {τ : Type.{u1}} {α : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ) (g : τ -> α) (p : MvPolynomial.{u4, u3} σ R _inst_1), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u3} τ R _inst_1) => MvPolynomial.{u2, u3} α R _inst_1) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u4) (succ u3), max (succ u1) (succ u3)} (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.{u4, u3} σ R _inst_1) (fun (a : MvPolynomial.{u4, u3} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u4, u3} σ R _inst_1) => MvPolynomial.{u1, u3} τ R _inst_1) a) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u4 u3, max u1 u3} (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) (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 u4 u3} (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 u4 u3} (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 u4 u3} (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 u4 u3} (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 u4 u3} (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, 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 u1 u3} (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 u1 u3} (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 u1 u3} (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 u1 u3} (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 u1 u3} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u4 u3, max u1 u3} (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, 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 u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} 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 u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} 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 u4 u3} (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 u4 u3} (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, 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 u1 u3} (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 u1 u3} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u4 u3, max u1 u3} (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) (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 u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} 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 u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} 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 u4 u3} (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 u4 u3} (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, 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 u1 u3} (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 u1 u3} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u4 u3, max u1 u3, max (max u4 u1) u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (AlgHom.algHomClass.{u3, max u4 u3, max u1 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (MvPolynomial.rename.{u4, u1, u3} σ τ R _inst_1 f) p)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u3, max u3 u1, max u3 u2} R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (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) => MvPolynomial.{u2, u3} α R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u3, max u1 u3, max u2 u3} (AlgHom.{u3, max u3 u1, max u3 u2} R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) (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 u1 u3} (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 u1 u3} (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 u1 u3} (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 u1 u3} (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 u1 u3} (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, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (AddMonoid.toZero.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))) (Algebra.toModule.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u3, max u1 u3, max u2 u3} (AlgHom.{u3, max u3 u1, max u3 u2} R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, 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 u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} 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 u1 u3} (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 u1 u3} (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, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))) (Algebra.toModule.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u3, max u1 u3, max u2 u3} (AlgHom.{u3, max u3 u1, max u3 u2} R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) (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 u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} 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 u1 u3} (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 u1 u3} (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, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))) (Algebra.toModule.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u1 u3, max u2 u3, max (max u1 u2) u3} R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (AlgHom.{u3, max u3 u1, max u3 u2} R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (AlgHom.algHomClass.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (MvPolynomial.rename.{u1, u2, u3} τ α R _inst_1 g) (FunLike.coe.{max (max (succ u4) (succ u1)) (succ u3), max (succ u4) (succ u3), max (succ u1) (succ u3)} (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (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) => MvPolynomial.{u1, u3} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u4 u1) u3, u3, max u4 u3, max u1 u3} (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) (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 u4 u3} (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 u4 u3} (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 u4 u3} (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 u4 u3} (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 u4 u3} (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, 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 u1 u3} (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 u1 u3} (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 u1 u3} (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 u1 u3} (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 u1 u3} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u1) u3, u3, max u4 u3, max u1 u3} (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, 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 u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} 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 u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} 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 u4 u3} (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 u4 u3} (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, 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 u1 u3} (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 u1 u3} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u1) u3, u3, max u4 u3, max u1 u3} (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) (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 u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} 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 u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} 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 u4 u3} (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 u4 u3} (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, 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 u1 u3} (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 u1 u3} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u4 u3, max u1 u3, max (max u4 u1) u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (AlgHom.{u3, max u3 u4, max u3 u1} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (AlgHom.algHomClass.{u3, max u4 u3, max u1 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u1, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (MvPolynomial.rename.{u4, u1, u3} σ τ R _inst_1 f) p)) (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u4) (succ u3), max (succ u2) (succ u3)} (AlgHom.{u3, max u3 u4, max u3 u2} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (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) => MvPolynomial.{u2, u3} α R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u3, max u4 u3, max u2 u3} (AlgHom.{u3, max u3 u4, max u3 u2} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) (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 u4 u3} (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 u4 u3} (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 u4 u3} (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 u4 u3} (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 u4 u3} (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, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (AddMonoid.toZero.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))) (Algebra.toModule.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u3, max u4 u3, max u2 u3} (AlgHom.{u3, max u3 u4, max u3 u2} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, 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 u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} 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 u4 u3} (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 u4 u3} (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, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))) (Algebra.toModule.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u3, max u4 u3, max u2 u3} (AlgHom.{u3, max u3 u4, max u3 u2} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) (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 u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} 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 u4 u3} (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 u4 u3} (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, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1))))) (Algebra.toModule.{u3, max u2 u3} R (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u4 u3, max u2 u3, max (max u4 u2) u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (AlgHom.{u3, max u3 u4, max u3 u2} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (AlgHom.algHomClass.{u3, max u4 u3, max u2 u3} R (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.{u2, u3} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u3} (MvPolynomial.{u4, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} α R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R α _inst_1)) (MvPolynomial.algebra.{u3, u3, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R α _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))))))) (MvPolynomial.rename.{u4, u2, u3} σ α R _inst_1 (Function.comp.{succ u4, succ u1, succ u2} σ τ α g f)) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_rename MvPolynomial.rename_renameₓ'. -/
@[simp]
theorem rename_rename (f : σ → τ) (g : τ → α) (p : MvPolynomial σ R) :
    rename g (rename f p) = rename (g ∘ f) p :=
  show rename g (eval₂ C (X ∘ f) p) = _
    by
    simp only [rename, aeval_eq_eval₂_hom]
    simp [eval₂_comp_left _ C (X ∘ f) p, (· ∘ ·), eval₂_C, eval_X]
    apply eval₂_hom_congr _ rfl rfl
    ext1; simp only [comp_app, RingHom.coe_comp, eval₂_hom_C]
#align mv_polynomial.rename_rename MvPolynomial.rename_rename

/- warning: mv_polynomial.rename_id -> MvPolynomial.rename_id is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} σ R _inst_1) (coeFn.{succ (max u1 u2), succ (max u1 u2)} (AlgHom.{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (fun (_x : AlgHom.{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) => (MvPolynomial.{u1, u2} σ R _inst_1) -> (MvPolynomial.{u1, u2} σ R _inst_1)) ([anonymous].{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.rename.{u1, u1, u2} σ σ R _inst_1 (id.{succ u1} σ)) p) p
but is expected to have type
  forall {σ : Type.{u2}} {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => MvPolynomial.{u2, u1} σ R _inst_1) p) (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (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) => MvPolynomial.{u2, u1} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u1 u2, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u2, u2, u1} σ σ R _inst_1 (id.{succ u2} σ)) p) p
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_id MvPolynomial.rename_idₓ'. -/
@[simp]
theorem rename_id (p : MvPolynomial σ R) : rename id p = p :=
  eval₂_eta p
#align mv_polynomial.rename_id MvPolynomial.rename_id

/- warning: mv_polynomial.rename_monomial -> MvPolynomial.rename_monomial is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ) (d : Finsupp.{u1, 0} σ Nat Nat.hasZero) (r : R), Eq.{max (succ u2) (succ u3)} (MvPolynomial.{u2, u3} τ R _inst_1) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f) (coeFn.{max (succ u3) (succ (max u1 u3)), max (succ u3) (succ (max u1 u3))} (LinearMap.{u3, u3, u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (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 u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (MvPolynomial.module.{u3, u3, u1} R R σ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_1 (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (fun (_x : LinearMap.{u3, u3, u3, max u1 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) R (MvPolynomial.{u1, u3} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (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 u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (MvPolynomial.module.{u3, u3, u1} R R σ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_1 (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) => R -> (MvPolynomial.{u1, u3} σ R _inst_1)) (LinearMap.hasCoeToFun.{u3, u3, u3, max u1 u3} R R R (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (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 u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (MvPolynomial.module.{u3, u3, u1} R R σ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_1 (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MvPolynomial.monomial.{u3, u1} R σ _inst_1 d) r)) (coeFn.{max (succ u3) (succ (max u2 u3)), max (succ u3) (succ (max u2 u3))} (LinearMap.{u3, u3, u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) R (MvPolynomial.{u2, u3} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (MvPolynomial.module.{u3, u3, u2} R R τ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_1 (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (fun (_x : LinearMap.{u3, u3, u3, max u2 u3} R R (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) R (MvPolynomial.{u2, u3} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (MvPolynomial.module.{u3, u3, u2} R R τ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_1 (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) => R -> (MvPolynomial.{u2, u3} τ R _inst_1)) (LinearMap.hasCoeToFun.{u3, u3, u3, max u2 u3} R R R (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (MvPolynomial.module.{u3, u3, u2} R R τ (CommSemiring.toSemiring.{u3} R _inst_1) _inst_1 (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (MvPolynomial.monomial.{u3, u2} R τ _inst_1 (Finsupp.mapDomain.{u1, u2, 0} σ τ Nat Nat.addCommMonoid f d)) r)
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u2}} {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (f : σ -> τ) (d : Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (r : R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u1} σ R _inst_1) => MvPolynomial.{u2, u1} τ R _inst_1) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (LinearMap.{u1, u1, u1, max u1 u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.module.{u1, u1, u3} R R σ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_1 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) R (fun (a : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u3, u1} σ R _inst_1) a) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, max u3 u1} R R R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.module.{u1, u1, u3} R R σ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_1 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MvPolynomial.monomial.{u1, u3} R σ _inst_1 d) r)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.{u3, u1} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u1} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u1} σ R _inst_1) => MvPolynomial.{u2, u1} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (SMulZeroClass.toSMul.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} 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 u2 u1} (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 u2 u1} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} 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 u2 u1} (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 u2 u1} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u3 u1, max u2 u1, max (max u3 u2) u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u3 u1, max u2 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u3, u2, u1} σ τ R _inst_1 f) (FunLike.coe.{max (succ u3) (succ u1), succ u1, max (succ u3) (succ u1)} (LinearMap.{u1, u1, u1, max u1 u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.module.{u1, u1, u3} R R σ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_1 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u3, u1} σ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, max u3 u1} R R R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.module.{u1, u1, u3} R R σ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_1 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MvPolynomial.monomial.{u1, u3} R σ _inst_1 d) r)) (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (LinearMap.{u1, u1, u1, max u1 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.module.{u1, u1, u2} R R τ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_1 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : R) => MvPolynomial.{u2, u1} τ R _inst_1) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u1, max u2 u1} R R R (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MvPolynomial.module.{u1, u1, u2} R R τ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_1 (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MvPolynomial.monomial.{u1, u2} R τ _inst_1 (Finsupp.mapDomain.{u3, u2, 0} σ τ Nat Nat.addCommMonoid f d)) r)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_monomial MvPolynomial.rename_monomialₓ'. -/
theorem rename_monomial (f : σ → τ) (d : σ →₀ ℕ) (r : R) :
    rename f (monomial d r) = monomial (d.mapDomain f) r :=
  by
  rw [rename, aeval_monomial, monomial_eq, Finsupp.prod_mapDomain_index]
  · rfl
  · exact fun n => pow_zero _
  · exact fun n i₁ i₂ => pow_add _ _ _
#align mv_polynomial.rename_monomial MvPolynomial.rename_monomial

/- warning: mv_polynomial.rename_eq -> MvPolynomial.rename_eq is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{max (succ u2) (succ u3)} (MvPolynomial.{u2, u3} τ R _inst_1) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f) p) (Finsupp.mapDomain.{u1, u2, u3} (Finsupp.{u1, 0} σ Nat (AddZeroClass.toHasZero.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid)))) (Finsupp.{u2, 0} τ Nat Nat.hasZero) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (Finsupp.mapDomain.{u1, u2, 0} σ τ Nat Nat.addCommMonoid f) p)
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (f : σ -> τ) (p : MvPolynomial.{u3, u2} σ R _inst_1), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) p) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u2, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u3 u2, max u1 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 f) p) (Finsupp.mapDomain.{u3, u1, u2} (Finsupp.{u3, 0} σ Nat (AddMonoid.toZero.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid))) (Finsupp.{u1, 0} τ Nat (AddMonoid.toZero.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid))) R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} R (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)))) (Finsupp.mapDomain.{u3, u1, 0} σ τ Nat Nat.addCommMonoid f) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_eq MvPolynomial.rename_eqₓ'. -/
theorem rename_eq (f : σ → τ) (p : MvPolynomial σ R) :
    rename f p = Finsupp.mapDomain (Finsupp.mapDomain f) p :=
  by
  simp only [rename, aeval_def, eval₂, Finsupp.mapDomain, algebra_map_eq, X_pow_eq_monomial, ←
    monomial_finsupp_sum_index]
  rfl
#align mv_polynomial.rename_eq MvPolynomial.rename_eq

/- warning: mv_polynomial.rename_injective -> MvPolynomial.rename_injective is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ), (Function.Injective.{succ u1, succ u2} σ τ f) -> (Function.Injective.{max (succ u1) (succ u3), max (succ u2) (succ u3)} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f)))
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u2}} {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (f : σ -> τ), (Function.Injective.{succ u3, succ u2} σ τ f) -> (Function.Injective.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.{u3, u1} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u1} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u1} σ R _inst_1) => MvPolynomial.{u2, u1} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (SMulZeroClass.toSMul.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} 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 u2 u1} (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 u2 u1} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} 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 u2 u1} (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 u2 u1} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u3 u1, max u2 u1, max (max u3 u2) u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u3 u1, max u2 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u3, u2, u1} σ τ R _inst_1 f)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_injective MvPolynomial.rename_injectiveₓ'. -/
theorem rename_injective (f : σ → τ) (hf : Function.Injective f) :
    Function.Injective (rename f : MvPolynomial σ R → MvPolynomial τ R) :=
  by
  have :
    (rename f : MvPolynomial σ R → MvPolynomial τ R) = Finsupp.mapDomain (Finsupp.mapDomain f) :=
    funext (rename_eq f)
  rw [this]
  exact Finsupp.mapDomain_injective (Finsupp.mapDomain_injective hf)
#align mv_polynomial.rename_injective MvPolynomial.rename_injective

section

variable {f : σ → τ} (hf : Function.Injective f)

open Classical

#print MvPolynomial.killCompl /-
/-- Given a function between sets of variables `f : σ → τ` that is injective with proof `hf`,
  `kill_compl hf` is the `alg_hom` from `R[τ]` to `R[σ]` that is left inverse to
  `rename f : R[σ] → R[τ]` and sends the variables in the complement of the range of `f` to `0`. -/
def killCompl : MvPolynomial τ R →ₐ[R] MvPolynomial σ R :=
  aeval fun i => if h : i ∈ Set.range f then X <| (Equiv.ofInjective f hf).symm ⟨i, h⟩ else 0
#align mv_polynomial.kill_compl MvPolynomial.killCompl
-/

/- warning: mv_polynomial.kill_compl_comp_rename -> MvPolynomial.killCompl_comp_rename is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] {f : σ -> τ} (hf : Function.Injective.{succ u1, succ u2} σ τ f), Eq.{succ (max u1 u3)} (AlgHom.{u3, max u1 u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (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)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (AlgHom.comp.{u3, max u1 u3, max u2 u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (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)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.killCompl.{u1, u2, u3} σ τ R _inst_1 f hf) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f)) (AlgHom.id.{u3, max u1 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (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)))
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> τ} (hf : Function.Injective.{succ u3, succ u1} σ τ f), Eq.{max (succ u3) (succ u2)} (AlgHom.{u2, max u2 u3, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.comp.{u2, max u2 u3, max u1 u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.killCompl.{u3, u1, u2} σ τ R _inst_1 f hf) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 f)) (AlgHom.id.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.kill_compl_comp_rename MvPolynomial.killCompl_comp_renameₓ'. -/
theorem killCompl_comp_rename : (killCompl hf).comp (rename f) = AlgHom.id R _ :=
  algHom_ext fun i => by
    dsimp
    rw [rename, kill_compl, aeval_X, aeval_X, dif_pos, Equiv.ofInjective_symm_apply]
#align mv_polynomial.kill_compl_comp_rename MvPolynomial.killCompl_comp_rename

/- warning: mv_polynomial.kill_compl_rename_app -> MvPolynomial.killCompl_rename_app is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] {f : σ -> τ} (hf : Function.Injective.{succ u1, succ u2} σ τ f) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{max (succ u1) (succ u3)} (MvPolynomial.{u1, u3} σ R _inst_1) (coeFn.{max (succ (max u2 u3)) (succ (max u1 u3)), max (succ (max u2 u3)) (succ (max u1 u3))} (AlgHom.{u3, max u2 u3, max u1 u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u2 u3, max u1 u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u2, u3} τ R _inst_1) -> (MvPolynomial.{u1, u3} σ R _inst_1)) ([anonymous].{u3, max u2 u3, max u1 u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.killCompl.{u1, u2, u3} σ τ R _inst_1 f hf) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f) p)) p
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {f : σ -> τ} (hf : Function.Injective.{succ u3, succ u1} σ τ f) (p : MvPolynomial.{u3, u2} σ R _inst_1), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} τ R _inst_1) => MvPolynomial.{u3, u2} σ R _inst_1) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (a : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) a) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u2, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u3 u2, max u1 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 f) p)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), max (succ u3) (succ u2)} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u1, u2} τ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} τ R _inst_1) => MvPolynomial.{u3, u2} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, max u3 u2, max (max u3 u1) u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u1 u2, max u3 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.killCompl.{u3, u1, u2} σ τ R _inst_1 f hf) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u2, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u3 u2, max u1 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 f) p)) p
Case conversion may be inaccurate. Consider using '#align mv_polynomial.kill_compl_rename_app MvPolynomial.killCompl_rename_appₓ'. -/
@[simp]
theorem killCompl_rename_app (p : MvPolynomial σ R) : killCompl hf (rename f p) = p :=
  AlgHom.congr_fun (killCompl_comp_rename hf) p
#align mv_polynomial.kill_compl_rename_app MvPolynomial.killCompl_rename_app

end

section

variable (R)

#print MvPolynomial.renameEquiv /-
/-- `mv_polynomial.rename e` is an equivalence when `e` is. -/
@[simps apply]
def renameEquiv (f : σ ≃ τ) : MvPolynomial σ R ≃ₐ[R] MvPolynomial τ R :=
  { rename f with
    toFun := rename f
    invFun := rename f.symm
    left_inv := fun p => by rw [rename_rename, f.symm_comp_self, rename_id]
    right_inv := fun p => by rw [rename_rename, f.self_comp_symm, rename_id] }
#align mv_polynomial.rename_equiv MvPolynomial.renameEquiv
-/

/- warning: mv_polynomial.rename_equiv_refl -> MvPolynomial.renameEquiv_refl is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} (R : Type.{u2}) [_inst_1 : CommSemiring.{u2} R], Eq.{succ (max u1 u2)} (AlgEquiv.{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.renameEquiv.{u1, u1, u2} σ σ R _inst_1 (Equiv.refl.{succ u1} σ)) (AlgEquiv.refl.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))
but is expected to have type
  forall {σ : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R], Eq.{max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (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)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.renameEquiv.{u2, u2, u1} σ σ R _inst_1 (Equiv.refl.{succ u2} σ)) (AlgEquiv.refl.{u1, max u2 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_equiv_refl MvPolynomial.renameEquiv_reflₓ'. -/
@[simp]
theorem renameEquiv_refl : renameEquiv R (Equiv.refl σ) = AlgEquiv.refl :=
  AlgEquiv.ext rename_id
#align mv_polynomial.rename_equiv_refl MvPolynomial.renameEquiv_refl

/- warning: mv_polynomial.rename_equiv_symm -> MvPolynomial.renameEquiv_symm is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] (f : Equiv.{succ u1, succ u2} σ τ), Eq.{max (succ (max u2 u3)) (succ (max u1 u3))} (AlgEquiv.{u3, max u2 u3, max u1 u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{u1, u3} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (AlgEquiv.symm.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.renameEquiv.{u1, u2, u3} σ τ R _inst_1 f)) (MvPolynomial.renameEquiv.{u2, u1, u3} τ σ R _inst_1 (Equiv.symm.{succ u1, succ u2} σ τ f))
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (f : Equiv.{succ u3, succ u2} σ τ), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (AlgEquiv.{u1, max u2 u1, max u3 u1} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgEquiv.symm.{u1, max u3 u1, max u2 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.renameEquiv.{u3, u2, u1} σ τ R _inst_1 f)) (MvPolynomial.renameEquiv.{u2, u3, u1} τ σ R _inst_1 (Equiv.symm.{succ u3, succ u2} σ τ f))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_equiv_symm MvPolynomial.renameEquiv_symmₓ'. -/
@[simp]
theorem renameEquiv_symm (f : σ ≃ τ) : (renameEquiv R f).symm = renameEquiv R f.symm :=
  rfl
#align mv_polynomial.rename_equiv_symm MvPolynomial.renameEquiv_symm

/- warning: mv_polynomial.rename_equiv_trans -> MvPolynomial.renameEquiv_trans is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {α : Type.{u3}} (R : Type.{u4}) [_inst_1 : CommSemiring.{u4} R] (e : Equiv.{succ u1, succ u2} σ τ) (f : Equiv.{succ u2, succ u3} τ α), Eq.{max (succ (max u1 u4)) (succ (max u3 u4))} (AlgEquiv.{u4, max u1 u4, max u3 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u3, u4} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u3, u4} α R _inst_1) (MvPolynomial.commSemiring.{u4, u3} R α _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u3} R R α _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (AlgEquiv.trans.{u4, max u1 u4, max u2 u4, max u3 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.{u3, u4} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max u3 u4} (MvPolynomial.{u3, u4} α R _inst_1) (MvPolynomial.commSemiring.{u4, u3} R α _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u3} R R α _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.renameEquiv.{u1, u2, u4} σ τ R _inst_1 e) (MvPolynomial.renameEquiv.{u2, u3, u4} τ α R _inst_1 f)) (MvPolynomial.renameEquiv.{u1, u3, u4} σ α R _inst_1 (Equiv.trans.{succ u1, succ u2, succ u3} σ τ α e f))
but is expected to have type
  forall {σ : Type.{u4}} {τ : Type.{u3}} {α : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (e : Equiv.{succ u4, succ u3} σ τ) (f : Equiv.{succ u3, succ u2} τ α), Eq.{max (max (succ u4) (succ u2)) (succ u1)} (AlgEquiv.{u1, max u4 u1, max u1 u2} R (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u2, u1} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} α R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R α _inst_1)) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R α _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgEquiv.trans.{u1, max u4 u1, max u3 u1, max u1 u2} R (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.{u2, u1} α R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u4, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u4} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} α R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R α _inst_1)) (MvPolynomial.algebra.{u1, u1, u4} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R α _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.renameEquiv.{u4, u3, u1} σ τ R _inst_1 e) (MvPolynomial.renameEquiv.{u3, u2, u1} τ α R _inst_1 f)) (MvPolynomial.renameEquiv.{u4, u2, u1} σ α R _inst_1 (Equiv.trans.{succ u4, succ u3, succ u2} σ τ α e f))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_equiv_trans MvPolynomial.renameEquiv_transₓ'. -/
@[simp]
theorem renameEquiv_trans (e : σ ≃ τ) (f : τ ≃ α) :
    (renameEquiv R e).trans (renameEquiv R f) = renameEquiv R (e.trans f) :=
  AlgEquiv.ext (rename_rename e f)
#align mv_polynomial.rename_equiv_trans MvPolynomial.renameEquiv_trans

end

section

variable (f : R →+* S) (k : σ → τ) (g : τ → S) (p : MvPolynomial σ R)

#print MvPolynomial.eval₂_rename /-
theorem eval₂_rename : (rename k p).eval₂ f g = p.eval₂ f (g ∘ k) := by
  apply MvPolynomial.induction_on p <;>
    · intros
      simp [*]
#align mv_polynomial.eval₂_rename MvPolynomial.eval₂_rename
-/

/- warning: mv_polynomial.eval₂_hom_rename -> MvPolynomial.eval₂Hom_rename is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} {S : Type.{u4}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S] (f : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (k : σ -> τ) (g : τ -> S) (p : MvPolynomial.{u1, u3} σ R _inst_1), Eq.{succ u4} S (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (RingHom.{max u2 u3, u4} (MvPolynomial.{u2, u3} τ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (fun (_x : RingHom.{max u2 u3, u4} (MvPolynomial.{u2, u3} τ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) => (MvPolynomial.{u2, u3} τ R _inst_1) -> S) (RingHom.hasCoeToFun.{max u2 u3, u4} (MvPolynomial.{u2, u3} τ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.eval₂Hom.{u3, u4, u2} R S τ _inst_1 _inst_2 f g) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 k) p)) (coeFn.{max (succ (max u1 u3)) (succ u4), max (succ (max u1 u3)) (succ u4)} (RingHom.{max u1 u3, u4} (MvPolynomial.{u1, u3} σ R _inst_1) S (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (fun (_x : RingHom.{max u1 u3, u4} (MvPolynomial.{u1, u3} σ R _inst_1) S (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> S) (RingHom.hasCoeToFun.{max u1 u3, u4} (MvPolynomial.{u1, u3} σ R _inst_1) S (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.eval₂Hom.{u3, u4, u1} R S σ _inst_1 _inst_2 f (Function.comp.{succ u1, succ u2, succ u4} σ τ S g k)) p)
but is expected to have type
  forall {σ : Type.{u1}} {τ : Type.{u3}} {R : Type.{u2}} {S : Type.{u4}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u4} S] (f : RingHom.{u2, u4} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (k : σ -> τ) (g : τ -> S) (p : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u4} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u2} τ R _inst_1) => S) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u2), max (succ u3) (succ u2)} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (a : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u3, u2} τ R _inst_1) a) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, max u3 u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u1 u2, max u3 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u1, u3, u2} σ τ R _inst_1 k) p)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u4), max (succ u3) (succ u2), succ u4} (RingHom.{max u2 u3, u4} (MvPolynomial.{u3, u2} τ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.{u3, u2} τ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u2} τ R _inst_1) => S) _x) (MulHomClass.toFunLike.{max (max u3 u2) u4, max u3 u2, u4} (RingHom.{max u2 u3, u4} (MvPolynomial.{u3, u2} τ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.{u3, u2} τ R _inst_1) S (NonUnitalNonAssocSemiring.toMul.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u2) u4, max u3 u2, u4} (RingHom.{max u2 u3, u4} (MvPolynomial.{u3, u2} τ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.{u3, u2} τ R _inst_1) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u2) u4, max u3 u2, u4} (RingHom.{max u2 u3, u4} (MvPolynomial.{u3, u2} τ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.{u3, u2} τ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHom.instRingHomClassRingHom.{max u3 u2, u4} (MvPolynomial.{u3, u2} τ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u4, u3} R S τ _inst_1 _inst_2 f g) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u2), max (succ u1) (succ u2), max (succ u3) (succ u2)} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u2} σ R _inst_1) => MvPolynomial.{u3, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u2, u2, max u1 u2, max u3 u2} (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u1 u2, max u3 u2, max (max u1 u3) u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u1, max u2 u3} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u1 u2, max u3 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u1, u3, u2} σ τ R _inst_1 k) p)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u2), succ u4} (RingHom.{max u2 u1, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u1, u2} σ R _inst_1) => S) _x) (MulHomClass.toFunLike.{max (max u1 u2) u4, max u1 u2, u4} (RingHom.{max u2 u1, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S (NonUnitalNonAssocSemiring.toMul.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u4} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u1 u2) u4, max u1 u2, u4} (RingHom.{max u2 u1, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u4} S (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (RingHomClass.toNonUnitalRingHomClass.{max (max u1 u2) u4, max u1 u2, u4} (RingHom.{max u2 u1, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (MvPolynomial.{u1, u2} σ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)) (RingHom.instRingHomClassRingHom.{max u1 u2, u4} (MvPolynomial.{u1, u2} σ R _inst_1) S (Semiring.toNonAssocSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2)))))) (MvPolynomial.eval₂Hom.{u2, u4, u1} R S σ _inst_1 _inst_2 f (Function.comp.{succ u1, succ u3, succ u4} σ τ S g k)) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_hom_rename MvPolynomial.eval₂Hom_renameₓ'. -/
theorem eval₂Hom_rename : eval₂Hom f g (rename k p) = eval₂Hom f (g ∘ k) p :=
  eval₂_rename _ _ _ _
#align mv_polynomial.eval₂_hom_rename MvPolynomial.eval₂Hom_rename

/- warning: mv_polynomial.aeval_rename -> MvPolynomial.aeval_rename is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} {S : Type.{u4}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S] (k : σ -> τ) (g : τ -> S) (p : MvPolynomial.{u1, u3} σ R _inst_1) [_inst_3 : Algebra.{u3, u4} R S _inst_1 (CommSemiring.toSemiring.{u4} S _inst_2)], Eq.{succ u4} S (coeFn.{max (succ (max u2 u3)) (succ u4), max (succ (max u2 u3)) (succ u4)} (AlgHom.{u3, max u2 u3, u4} R (MvPolynomial.{u2, u3} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u4} S _inst_2) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u3, max u2 u3, u4} R (MvPolynomial.{u2, u3} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u4} S _inst_2) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) => (MvPolynomial.{u2, u3} τ R _inst_1) -> S) ([anonymous].{u3, max u2 u3, u4} R (MvPolynomial.{u2, u3} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u4} S _inst_2) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u3, u4, u2} R S τ _inst_1 _inst_2 _inst_3 g) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 k) p)) (coeFn.{max (succ (max u1 u3)) (succ u4), max (succ (max u1 u3)) (succ u4)} (AlgHom.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u4} S _inst_2) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) (fun (_x : AlgHom.{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u4} S _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) -> S) ([anonymous].{u3, max u1 u3, u4} R (MvPolynomial.{u1, u3} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u4} S _inst_2) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) _inst_3) (MvPolynomial.aeval.{u3, u4, u1} R S σ _inst_1 _inst_2 _inst_3 (Function.comp.{succ u1, succ u2, succ u4} σ τ S g k)) p)
but is expected to have type
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u4}} {S : Type.{u3}} [_inst_1 : CommSemiring.{u4} R] [_inst_2 : CommSemiring.{u3} S] (k : σ -> τ) (g : τ -> S) (p : MvPolynomial.{u1, u4} σ R _inst_1) [_inst_3 : Algebra.{u4, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S _inst_2)], Eq.{succ u3} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} τ R _inst_1) => S) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (MvPolynomial.{u1, u4} σ R _inst_1) (fun (a : MvPolynomial.{u1, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u4} σ R _inst_1) => MvPolynomial.{u2, u4} τ R _inst_1) a) (SMulHomClass.toFunLike.{max (max u1 u2) u4, u4, max u1 u4, max u2 u4} (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) (SMulZeroClass.toSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (AddMonoid.toZero.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (SMulZeroClass.toSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (AddMonoid.toZero.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u4, u4, max u1 u4, max u2 u4} (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u4, u4, max u1 u4, max u2 u4} (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u4, max u2 u4, max (max u1 u2) u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (AlgHom.algHomClass.{u4, max u1 u4, max u2 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (MvPolynomial.rename.{u1, u2, u4} σ τ R _inst_1 k) p)) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u4), max (succ u2) (succ u4), succ u3} (AlgHom.{u4, max u4 u2, u3} R (MvPolynomial.{u2, u4} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) (MvPolynomial.{u2, u4} τ R _inst_1) (fun (_x : MvPolynomial.{u2, u4} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u4} τ R _inst_1) => S) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u4, u4, max u2 u4, u3} (AlgHom.{u4, max u4 u2, u3} R (MvPolynomial.{u2, u4} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) R (MvPolynomial.{u2, u4} τ R _inst_1) S (SMulZeroClass.toSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (AddMonoid.toZero.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (SMulZeroClass.toSMul.{u4, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))))) (DistribSMul.toSMulZeroClass.{u4, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))))) (DistribMulAction.toDistribSMul.{u4, u3} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))) (Algebra.toModule.{u4, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u4, u4, max u2 u4, u3} (AlgHom.{u4, max u4 u2, u3} R (MvPolynomial.{u2, u4} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) R (MvPolynomial.{u2, u4} τ R _inst_1) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))) (Algebra.toModule.{u4, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u3) u4, u4, max u2 u4, u3} (AlgHom.{u4, max u4 u2, u3} R (MvPolynomial.{u2, u4} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) R (MvPolynomial.{u2, u4} τ R _inst_1) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))) (Algebra.toModule.{u4, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u2 u4, u3, max (max u2 u3) u4} R (MvPolynomial.{u2, u4} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3 (AlgHom.{u4, max u4 u2, u3} R (MvPolynomial.{u2, u4} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u4, max u2 u4, u3} R (MvPolynomial.{u2, u4} τ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u2} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u4, u3, u2} R S τ _inst_1 _inst_2 _inst_3 g) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u4), max (succ u1) (succ u4), max (succ u2) (succ u4)} (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (MvPolynomial.{u1, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u4} σ R _inst_1) => MvPolynomial.{u2, u4} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u4, u4, max u1 u4, max u2 u4} (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) (SMulZeroClass.toSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (AddMonoid.toZero.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (SMulZeroClass.toSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (AddMonoid.toZero.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u4, u4, max u1 u4, max u2 u4} (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u4, u4, max u1 u4, max u2 u4} (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1))))) (Algebra.toModule.{u4, max u2 u4} R (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u4, max u2 u4, max (max u1 u2) u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (AlgHom.{u4, max u4 u1, max u4 u2} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))) (AlgHom.algHomClass.{u4, max u1 u4, max u2 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.{u2, u4} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u4} (MvPolynomial.{u2, u4} τ R _inst_1) (MvPolynomial.commSemiring.{u4, u2} R τ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) (MvPolynomial.algebra.{u4, u4, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (MvPolynomial.rename.{u1, u2, u4} σ τ R _inst_1 k) p)) (FunLike.coe.{max (max (succ u1) (succ u3)) (succ u4), max (succ u1) (succ u4), succ u3} (AlgHom.{u4, max u4 u1, u3} R (MvPolynomial.{u1, u4} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) (MvPolynomial.{u1, u4} σ R _inst_1) (fun (_x : MvPolynomial.{u1, u4} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u1, u4} σ R _inst_1) => S) _x) (SMulHomClass.toFunLike.{max (max u1 u3) u4, u4, max u1 u4, u3} (AlgHom.{u4, max u4 u1, u3} R (MvPolynomial.{u1, u4} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u4} σ R _inst_1) S (SMulZeroClass.toSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (AddMonoid.toZero.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1))))))) (SMulZeroClass.toSMul.{u4, u3} R S (AddMonoid.toZero.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))))) (DistribSMul.toSMulZeroClass.{u4, u3} R S (AddMonoid.toAddZeroClass.{u3} S (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))))) (DistribMulAction.toDistribSMul.{u4, u3} R S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))) (Algebra.toModule.{u4, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S _inst_2) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u3) u4, u4, max u1 u4, u3} (AlgHom.{u4, max u4 u1, u3} R (MvPolynomial.{u1, u4} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u4} σ R _inst_1) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{u3} S (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))) (Algebra.toModule.{u4, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S _inst_2) _inst_3)) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u3) u4, u4, max u1 u4, u3} (AlgHom.{u4, max u4 u1, u3} R (MvPolynomial.{u1, u4} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) R (MvPolynomial.{u1, u4} σ R _inst_1) S (MonoidWithZero.toMonoid.{u4} R (Semiring.toMonoidWithZero.{u4} R (CommSemiring.toSemiring.{u4} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2))) (Module.toDistribMulAction.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u4} (MvPolynomial.{u1, u4} σ R _inst_1) (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1))))) (Algebra.toModule.{u4, max u1 u4} R (MvPolynomial.{u1, u4} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)))) (Module.toDistribMulAction.{u4, u3} R S (CommSemiring.toSemiring.{u4} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} S (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} S (Semiring.toNonAssocSemiring.{u3} S (CommSemiring.toSemiring.{u3} S _inst_2)))) (Algebra.toModule.{u4, u3} R S _inst_1 (CommSemiring.toSemiring.{u3} S _inst_2) _inst_3)) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u4, max u1 u4, u3, max (max u1 u3) u4} R (MvPolynomial.{u1, u4} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3 (AlgHom.{u4, max u4 u1, u3} R (MvPolynomial.{u1, u4} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3) (AlgHom.algHomClass.{u4, max u1 u4, u3} R (MvPolynomial.{u1, u4} σ R _inst_1) S _inst_1 (CommSemiring.toSemiring.{max u4 u1} (MvPolynomial.{u1, u4} σ R _inst_1) (MvPolynomial.commSemiring.{u4, u1} R σ _inst_1)) (CommSemiring.toSemiring.{u3} S _inst_2) (MvPolynomial.algebra.{u4, u4, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u4} R _inst_1)) _inst_3))))) (MvPolynomial.aeval.{u4, u3, u1} R S σ _inst_1 _inst_2 _inst_3 (Function.comp.{succ u1, succ u2, succ u3} σ τ S g k)) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.aeval_rename MvPolynomial.aeval_renameₓ'. -/
theorem aeval_rename [Algebra R S] : aeval g (rename k p) = aeval (g ∘ k) p :=
  eval₂Hom_rename _ _ _ _
#align mv_polynomial.aeval_rename MvPolynomial.aeval_rename

/- warning: mv_polynomial.rename_eval₂ -> MvPolynomial.rename_eval₂ is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (k : σ -> τ) (p : MvPolynomial.{u1, u3} σ R _inst_1) (g : τ -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{max (succ u2) (succ u3)} (MvPolynomial.{u2, u3} τ R _inst_1) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 k) (MvPolynomial.eval₂.{u3, max u1 u3, u1} R (MvPolynomial.{u1, u3} σ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1) (MvPolynomial.C.{u3, u1} R σ _inst_1) (Function.comp.{succ u1, succ u2, max (succ u1) (succ u3)} σ τ (MvPolynomial.{u1, u3} σ R _inst_1) g k) p)) (MvPolynomial.eval₂.{u3, max u2 u3, u2} R (MvPolynomial.{u2, u3} τ R _inst_1) τ _inst_1 (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1) (MvPolynomial.C.{u3, u2} R τ _inst_1) (Function.comp.{succ u2, max (succ u1) (succ u3), max (succ u2) (succ u3)} τ (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 k)) g) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 k) p))
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (k : σ -> τ) (p : MvPolynomial.{u3, u2} σ R _inst_1) (g : τ -> (MvPolynomial.{u3, u2} σ R _inst_1)), Eq.{max (succ u1) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.eval₂.{u2, max u3 u2, u3} R (MvPolynomial.{u3, u2} σ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1) (MvPolynomial.C.{u2, u3} R σ _inst_1) (Function.comp.{succ u3, succ u1, max (succ u3) (succ u2)} σ τ (MvPolynomial.{u3, u2} σ R _inst_1) g k) p)) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u2, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u3 u2, max u1 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 k) (MvPolynomial.eval₂.{u2, max u3 u2, u3} R (MvPolynomial.{u3, u2} σ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1) (MvPolynomial.C.{u2, u3} R σ _inst_1) (Function.comp.{succ u3, succ u1, max (succ u3) (succ u2)} σ τ (MvPolynomial.{u3, u2} σ R _inst_1) g k) p)) (MvPolynomial.eval₂.{u2, max u1 u2, u1} R (MvPolynomial.{u1, u2} τ R _inst_1) τ _inst_1 (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1) (MvPolynomial.C.{u2, u1} R τ _inst_1) (Function.comp.{succ u1, max (succ u3) (succ u2), max (succ u1) (succ u2)} τ (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u2, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u3 u2, max u1 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 k)) g) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u2, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u3 u2, max u1 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 k) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_eval₂ MvPolynomial.rename_eval₂ₓ'. -/
theorem rename_eval₂ (g : τ → MvPolynomial σ R) :
    rename k (p.eval₂ C (g ∘ k)) = (rename k p).eval₂ C (rename k ∘ g) := by
  apply MvPolynomial.induction_on p <;>
    · intros
      simp [*]
#align mv_polynomial.rename_eval₂ MvPolynomial.rename_eval₂

/- warning: mv_polynomial.rename_prodmk_eval₂ -> MvPolynomial.rename_prod_mk_eval₂ is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (p : MvPolynomial.{u1, u3} σ R _inst_1) (j : τ) (g : σ -> (MvPolynomial.{u1, u3} σ R _inst_1)), Eq.{max (succ (max u2 u1)) (succ u3)} (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) (coeFn.{max (succ (max u1 u3)) (succ (max (max u2 u1) u3)), max (succ (max u1 u3)) (succ (max (max u2 u1) u3))} (AlgHom.{u3, max u1 u3, max (max u2 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u1) u3} (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u2 u1} R (Prod.{u2, u1} τ σ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u2 u1} R R (Prod.{u2, u1} τ σ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max (max u2 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u1) u3} (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u2 u1} R (Prod.{u2, u1} τ σ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u2 u1} R R (Prod.{u2, u1} τ σ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1)) ([anonymous].{u3, max u1 u3, max (max u2 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u1) u3} (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u2 u1} R (Prod.{u2, u1} τ σ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u2 u1} R R (Prod.{u2, u1} τ σ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, max u2 u1, u3} σ (Prod.{u2, u1} τ σ) R _inst_1 (Prod.mk.{u2, u1} τ σ j)) (MvPolynomial.eval₂.{u3, max u1 u3, u1} R (MvPolynomial.{u1, u3} σ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1) (MvPolynomial.C.{u3, u1} R σ _inst_1) g p)) (MvPolynomial.eval₂.{u3, max (max u2 u1) u3, u1} R (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u3, max u2 u1} R (Prod.{u2, u1} τ σ) _inst_1) (MvPolynomial.C.{u3, max u2 u1} R (Prod.{u2, u1} τ σ) _inst_1) (fun (x : σ) => coeFn.{max (succ (max u1 u3)) (succ (max (max u2 u1) u3)), max (succ (max u1 u3)) (succ (max (max u2 u1) u3))} (AlgHom.{u3, max u1 u3, max (max u2 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u1) u3} (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u2 u1} R (Prod.{u2, u1} τ σ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u2 u1} R R (Prod.{u2, u1} τ σ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max (max u2 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u1) u3} (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u2 u1} R (Prod.{u2, u1} τ σ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u2 u1} R R (Prod.{u2, u1} τ σ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1)) ([anonymous].{u3, max u1 u3, max (max u2 u1) u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u1) u3} (MvPolynomial.{max u2 u1, u3} (Prod.{u2, u1} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u2 u1} R (Prod.{u2, u1} τ σ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u2 u1} R R (Prod.{u2, u1} τ σ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, max u2 u1, u3} σ (Prod.{u2, u1} τ σ) R _inst_1 (Prod.mk.{u2, u1} τ σ j)) (g x)) p)
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u3, u2} σ R _inst_1) (j : τ) (g : σ -> (MvPolynomial.{u3, u2} σ R _inst_1)), Eq.{max (max (succ u3) (succ u1)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.eval₂.{u2, max u2 u3, u3} R (MvPolynomial.{u3, u2} σ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1) (MvPolynomial.C.{u2, u3} R σ _inst_1) g p)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, max u2 u3, max (max u1 u2) u3} (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (AddMonoid.toZero.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)))))) (Module.toDistribMulAction.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))) (Algebra.toModule.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, max u2 u3, max (max u1 u2) u3} (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))) (Algebra.toModule.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u2, max u2 u3, max (max u1 u2) u3} (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)))) (Module.toDistribMulAction.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))) (Algebra.toModule.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u2 u3, max (max u1 u2) u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, max u3 u1, u2} σ (Prod.{u1, u3} τ σ) R _inst_1 (Prod.mk.{u1, u3} τ σ j)) (MvPolynomial.eval₂.{u2, max u2 u3, u3} R (MvPolynomial.{u3, u2} σ R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1) (MvPolynomial.C.{u2, u3} R σ _inst_1) g p)) (MvPolynomial.eval₂.{u2, max (max u3 u1) u2, u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) σ _inst_1 (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1) (MvPolynomial.C.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1) (fun (x : σ) => FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u2, max u2 u3, max (max u1 u2) u3} (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (AddMonoid.toZero.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)))))) (Module.toDistribMulAction.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))) (Algebra.toModule.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u2, max u2 u3, max (max u1 u2) u3} (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))) (Algebra.toModule.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u2, max u2 u3, max (max u1 u2) u3} (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)))) (Module.toDistribMulAction.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u2 u3} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1))))) (Algebra.toModule.{u2, max (max u1 u2) u3} R (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u3 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u2 u3, max (max u1 u2) u3} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u3 u1, u2} (Prod.{u1, u3} τ σ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u1} R (Prod.{u1, u3} τ σ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u1} R R (Prod.{u1, u3} τ σ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, max u3 u1, u2} σ (Prod.{u1, u3} τ σ) R _inst_1 (Prod.mk.{u1, u3} τ σ j)) (g x)) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.rename_prodmk_eval₂ MvPolynomial.rename_prod_mk_eval₂ₓ'. -/
theorem rename_prod_mk_eval₂ (j : τ) (g : σ → MvPolynomial σ R) :
    rename (Prod.mk j) (p.eval₂ C g) = p.eval₂ C fun x => rename (Prod.mk j) (g x) := by
  apply MvPolynomial.induction_on p <;>
    · intros
      simp [*]
#align mv_polynomial.rename_prodmk_eval₂ MvPolynomial.rename_prod_mk_eval₂

/- warning: mv_polynomial.eval₂_rename_prodmk -> MvPolynomial.eval₂_rename_prod_mk is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} {S : Type.{u4}} [_inst_1 : CommSemiring.{u3} R] [_inst_2 : CommSemiring.{u4} S] (f : RingHom.{u3, u4} R S (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)) (Semiring.toNonAssocSemiring.{u4} S (CommSemiring.toSemiring.{u4} S _inst_2))) (g : (Prod.{u1, u2} σ τ) -> S) (i : σ) (p : MvPolynomial.{u2, u3} τ R _inst_1), Eq.{succ u4} S (MvPolynomial.eval₂.{u3, u4, max u1 u2} R S (Prod.{u1, u2} σ τ) _inst_1 _inst_2 f g (coeFn.{max (succ (max u2 u3)) (succ (max (max u1 u2) u3)), max (succ (max u2 u3)) (succ (max (max u1 u2) u3))} (AlgHom.{u3, max u2 u3, max (max u1 u2) u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u1 u2} R R (Prod.{u1, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u2 u3, max (max u1 u2) u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u1 u2} R R (Prod.{u1, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u2, u3} τ R _inst_1) -> (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1)) ([anonymous].{u3, max u2 u3, max (max u1 u2) u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u1 u2} R R (Prod.{u1, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u2, max u1 u2, u3} τ (Prod.{u1, u2} σ τ) R _inst_1 (Prod.mk.{u1, u2} σ τ i)) p)) (MvPolynomial.eval₂.{u3, u4, u2} R S τ _inst_1 _inst_2 f (fun (j : τ) => g (Prod.mk.{u1, u2} σ τ i j)) p)
but is expected to have type
  forall {σ : Type.{u4}} {τ : Type.{u3}} {R : Type.{u2}} {S : Type.{u1}} [_inst_1 : CommSemiring.{u2} R] [_inst_2 : CommSemiring.{u1} S] (f : RingHom.{u2, u1} R S (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1)) (Semiring.toNonAssocSemiring.{u1} S (CommSemiring.toSemiring.{u1} S _inst_2))) (g : (Prod.{u4, u3} σ τ) -> S) (i : σ) (p : MvPolynomial.{u3, u2} τ R _inst_1), Eq.{succ u1} S (MvPolynomial.eval₂.{u2, u1, max u4 u3} R S (Prod.{u4, u3} σ τ) _inst_1 _inst_2 f g (FunLike.coe.{max (max (succ u4) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u4) (succ u2)) (succ u3)} (AlgHom.{u2, max u2 u3, max u2 u3 u4} R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} τ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} τ R _inst_1) => MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u4 u2) u3, u2, max u2 u3, max (max u4 u2) u3} (AlgHom.{u2, max u2 u3, max u2 u3 u4} R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (SMulZeroClass.toSMul.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toZero.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max (max u4 u2) u3} R (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (AddMonoid.toZero.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max (max u4 u2) u3} R (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (AddMonoid.toAddZeroClass.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max (max u4 u2) u3} R (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)))))) (Module.toDistribMulAction.{u2, max (max u4 u2) u3} R (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1))))) (Algebra.toModule.{u2, max (max u4 u2) u3} R (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u2) u3, u2, max u2 u3, max (max u4 u2) u3} (AlgHom.{u2, max u2 u3, max u2 u3 u4} R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)))))) (Module.toDistribMulAction.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max (max u4 u2) u3} R (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1))))) (Algebra.toModule.{u2, max (max u4 u2) u3} R (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u4 u2) u3, u2, max u2 u3, max (max u4 u2) u3} (AlgHom.{u2, max u2 u3, max u2 u3 u4} R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)))) (Module.toDistribMulAction.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))))) (Algebra.toModule.{u2, max u2 u3} R (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max (max u4 u2) u3} R (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u4 u2) u3} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1))))) (Algebra.toModule.{u2, max (max u4 u2) u3} R (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u2 u3, max (max u4 u2) u3, max (max u4 u2) u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u3 u4} R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u2 u3, max (max u4 u2) u3} R (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u3 u4) u2} (MvPolynomial.{max u3 u4, u2} (Prod.{u4, u3} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u2, max u3 u4} R (Prod.{u4, u3} σ τ) _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, max u3 u4} R R (Prod.{u4, u3} σ τ) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, max u3 u4, u2} τ (Prod.{u4, u3} σ τ) R _inst_1 (Prod.mk.{u4, u3} σ τ i)) p)) (MvPolynomial.eval₂.{u2, u1, u3} R S τ _inst_1 _inst_2 f (fun (j : τ) => g (Prod.mk.{u4, u3} σ τ i j)) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_rename_prodmk MvPolynomial.eval₂_rename_prod_mkₓ'. -/
theorem eval₂_rename_prod_mk (g : σ × τ → S) (i : σ) (p : MvPolynomial τ R) :
    (rename (Prod.mk i) p).eval₂ f g = eval₂ f (fun j => g (i, j)) p := by
  apply MvPolynomial.induction_on p <;>
    · intros
      simp [*]
#align mv_polynomial.eval₂_rename_prodmk MvPolynomial.eval₂_rename_prod_mk

/- warning: mv_polynomial.eval_rename_prodmk -> MvPolynomial.eval_rename_prod_mk is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (g : (Prod.{u1, u2} σ τ) -> R) (i : σ) (p : MvPolynomial.{u2, u3} τ R _inst_1), Eq.{succ u3} R (coeFn.{max (succ (max (max u1 u2) u3)) (succ u3), max (succ (max (max u1 u2) u3)) (succ u3)} (RingHom.{max (max u1 u2) u3, u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) R (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (fun (_x : RingHom.{max (max u1 u2) u3, u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) R (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) => (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) -> R) (RingHom.hasCoeToFun.{max (max u1 u2) u3, u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) R (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.eval.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1 g) (coeFn.{max (succ (max u2 u3)) (succ (max (max u1 u2) u3)), max (succ (max u2 u3)) (succ (max (max u1 u2) u3))} (AlgHom.{u3, max u2 u3, max (max u1 u2) u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u1 u2} R R (Prod.{u1, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u2 u3, max (max u1 u2) u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u1 u2} R R (Prod.{u1, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u2, u3} τ R _inst_1) -> (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1)) ([anonymous].{u3, max u2 u3, max (max u1 u2) u3} R (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u1 u2) u3} (MvPolynomial.{max u1 u2, u3} (Prod.{u1, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u3, max u1 u2} R (Prod.{u1, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, max u1 u2} R R (Prod.{u1, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u2, max u1 u2, u3} τ (Prod.{u1, u2} σ τ) R _inst_1 (Prod.mk.{u1, u2} σ τ i)) p)) (coeFn.{max (succ (max u2 u3)) (succ u3), max (succ (max u2 u3)) (succ u3)} (RingHom.{max u2 u3, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (fun (_x : RingHom.{max u2 u3, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) => (MvPolynomial.{u2, u3} τ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u2 u3, u3} (MvPolynomial.{u2, u3} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (MvPolynomial.eval.{u3, u2} R τ _inst_1 (fun (j : τ) => g (Prod.mk.{u1, u2} σ τ i j))) p)
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u2}} {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (g : (Prod.{u3, u2} σ τ) -> R) (i : σ) (p : MvPolynomial.{u2, u1} τ R _inst_1), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) => R) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.{u2, u1} τ R _inst_1) (fun (a : MvPolynomial.{u2, u1} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} τ R _inst_1) => MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) a) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u1, max u1 u2, max (max u3 u1) u2} (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (SMulZeroClass.toSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (AddMonoid.toZero.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (AddMonoid.toAddZeroClass.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)))))) (Module.toDistribMulAction.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))) (Algebra.toModule.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u1, max u1 u2, max (max u3 u1) u2} (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))) (Algebra.toModule.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u1, max u1 u2, max (max u3 u1) u2} (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))) (Algebra.toModule.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u1 u2, max (max u3 u1) u2, max (max u3 u1) u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u2, max u2 u3, u1} τ (Prod.{u3, u2} σ τ) R _inst_1 (Prod.mk.{u3, u2} σ τ i)) p)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (max (succ u3) (succ u2)) (succ u1), succ u1} (RingHom.{max u1 u3 u2, u1} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u3 u2} R (Prod.{u3, u2} σ τ) _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (fun (_x : MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) => R) _x) (MulHomClass.toFunLike.{max (max u3 u2) u1, max (max u3 u2) u1, u1} (RingHom.{max u1 u3 u2, u1} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u3 u2} R (Prod.{u3, u2} σ τ) _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max (max u3 u2) u1} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u2) u1} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u3 u2} R (Prod.{u3, u2} σ τ) _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max (max u3 u2) u1, max (max u3 u2) u1, u1} (RingHom.{max u1 u3 u2, u1} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u3 u2} R (Prod.{u3, u2} σ τ) _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u2) u1} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u3 u2} R (Prod.{u3, u2} σ τ) _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max (max u3 u2) u1, max (max u3 u2) u1, u1} (RingHom.{max u1 u3 u2, u1} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u3 u2} R (Prod.{u3, u2} σ τ) _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u3 u2} R (Prod.{u3, u2} σ τ) _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{max (max u3 u2) u1, u1} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max u1 u3 u2} (MvPolynomial.{max u3 u2, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u3 u2} R (Prod.{u3, u2} σ τ) _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.eval.{u1, max u3 u2} R (Prod.{u3, u2} σ τ) _inst_1 g) (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u1) (succ u2), max (max (succ u3) (succ u1)) (succ u2)} (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (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) => MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u1, max u1 u2, max (max u3 u1) u2} (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (SMulZeroClass.toSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (AddMonoid.toZero.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (AddMonoid.toAddZeroClass.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)))))) (Module.toDistribMulAction.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))) (Algebra.toModule.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u1, max u1 u2, max (max u3 u1) u2} (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))) (Algebra.toModule.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u1, max u1 u2, max (max u3 u1) u2} (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (Semiring.toNonAssocSemiring.{max (max u3 u1) u2} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1))))) (Algebra.toModule.{u1, max (max u3 u1) u2} R (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u1 u2, max (max u3 u1) u2, max (max u3 u1) u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u2, max u1 u2 u3} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (CommSemiring.toSemiring.{max (max u2 u3) u1} (MvPolynomial.{max u2 u3, u1} (Prod.{u3, u2} σ τ) R _inst_1) (MvPolynomial.commSemiring.{u1, max u2 u3} R (Prod.{u3, u2} σ τ) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, max u2 u3} R R (Prod.{u3, u2} σ τ) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u2, max u2 u3, u1} τ (Prod.{u3, u2} σ τ) R _inst_1 (Prod.mk.{u3, u2} σ τ i)) p)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u1} (RingHom.{max u1 u2, u1} (MvPolynomial.{u2, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u2, u1} τ R _inst_1) (fun (_x : MvPolynomial.{u2, u1} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u1} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u1} (RingHom.{max u1 u2, u1} (MvPolynomial.{u2, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u2, u1} τ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u1} (RingHom.{max u1 u2, u1} (MvPolynomial.{u2, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u2, u1} τ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (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.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u1} (RingHom.{max u1 u2, u1} (MvPolynomial.{u2, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u2, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.eval.{u1, u2} R τ _inst_1 (fun (j : τ) => g (Prod.mk.{u3, u2} σ τ i j))) p)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval_rename_prodmk MvPolynomial.eval_rename_prod_mkₓ'. -/
theorem eval_rename_prod_mk (g : σ × τ → R) (i : σ) (p : MvPolynomial τ R) :
    eval g (rename (Prod.mk i) p) = eval (fun j => g (i, j)) p :=
  eval₂_rename_prod_mk (RingHom.id _) _ _ _
#align mv_polynomial.eval_rename_prodmk MvPolynomial.eval_rename_prod_mk

end

/- warning: mv_polynomial.exists_finset_rename -> MvPolynomial.exists_finset_rename is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Exists.{succ u1} (Finset.{u1} σ) (fun (s : Finset.{u1} σ) => Exists.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) R _inst_1) (fun (q : MvPolynomial.{u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) R _inst_1) => Eq.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} σ R _inst_1) p (coeFn.{succ (max u1 u2), succ (max u1 u2)} (AlgHom.{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (fun (_x : AlgHom.{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) => (MvPolynomial.{u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) R _inst_1) -> (MvPolynomial.{u1, u2} σ R _inst_1)) ([anonymous].{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.rename.{u1, u1, u2} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) σ R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) σ (HasLiftT.mk.{succ u1, succ u1} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) σ (CoeTCₓ.coe.{succ u1, succ u1} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) σ (coeBase.{succ u1, succ u1} (Subtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s)) σ (coeSubtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s))))))) q)))
but is expected to have type
  forall {σ : Type.{u2}} {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Exists.{succ u2} (Finset.{u2} σ) (fun (s : Finset.{u2} σ) => Exists.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (fun (q : MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) => Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (fun (_x : MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) => MvPolynomial.{u2, u1} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u1 u2, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u2, u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) σ R _inst_1 (Subtype.val.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s))) q)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.exists_finset_rename MvPolynomial.exists_finset_renameₓ'. -/
/-- Every polynomial is a polynomial in finitely many variables. -/
theorem exists_finset_rename (p : MvPolynomial σ R) :
    ∃ (s : Finset σ)(q : MvPolynomial { x // x ∈ s } R), p = rename coe q :=
  by
  apply induction_on p
  · intro r
    exact ⟨∅, C r, by rw [rename_C]⟩
  · rintro p q ⟨s, p, rfl⟩ ⟨t, q, rfl⟩
    refine' ⟨s ∪ t, ⟨_, _⟩⟩
    ·
      refine' rename (Subtype.map id _) p + rename (Subtype.map id _) q <;>
        simp (config := { contextual := true }) only [id.def, true_or_iff, or_true_iff,
          Finset.mem_union, forall_true_iff]
    · simp only [rename_rename, AlgHom.map_add]
      rfl
  · rintro p n ⟨s, p, rfl⟩
    refine' ⟨insert n s, ⟨_, _⟩⟩
    · refine' rename (Subtype.map id _) p * X ⟨n, s.mem_insert_self n⟩
      simp (config := { contextual := true }) only [id.def, or_true_iff, Finset.mem_insert,
        forall_true_iff]
    · simp only [rename_rename, rename_X, Subtype.coe_mk, AlgHom.map_mul]
      rfl
#align mv_polynomial.exists_finset_rename MvPolynomial.exists_finset_rename

/- warning: mv_polynomial.exists_finset_rename₂ -> MvPolynomial.exists_finset_rename₂ is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (p₁ : MvPolynomial.{u1, u2} σ R _inst_1) (p₂ : MvPolynomial.{u1, u2} σ R _inst_1), Exists.{succ u1} (Finset.{u1} σ) (fun (s : Finset.{u1} σ) => Exists.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (fun (q₁ : MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) => Exists.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (fun (q₂ : MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) => And (Eq.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} σ R _inst_1) p₁ (coeFn.{succ (max u1 u2), succ (max u1 u2)} (AlgHom.{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (fun (_x : AlgHom.{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) => (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) -> (MvPolynomial.{u1, u2} σ R _inst_1)) ([anonymous].{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.rename.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ (coeSubtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s))))))) q₁)) (Eq.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} σ R _inst_1) p₂ (coeFn.{succ (max u1 u2), succ (max u1 u2)} (AlgHom.{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (fun (_x : AlgHom.{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) => (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) -> (MvPolynomial.{u1, u2} σ R _inst_1)) ([anonymous].{u2, max u1 u2, max u1 u2} R (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.rename.{u1, u1, u2} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ R _inst_1 ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ (CoeTCₓ.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} σ) Type.{u1} (Finset.hasCoeToSort.{u1} σ) s) σ (coeSubtype.{succ u1} σ (fun (x : σ) => Membership.Mem.{u1, u1} σ (Finset.{u1} σ) (Finset.hasMem.{u1} σ) x s))))))) q₂)))))
but is expected to have type
  forall {σ : Type.{u2}} {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (p₁ : MvPolynomial.{u2, u1} σ R _inst_1) (p₂ : MvPolynomial.{u2, u1} σ R _inst_1), Exists.{succ u2} (Finset.{u2} σ) (fun (s : Finset.{u2} σ) => Exists.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (fun (q₁ : MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) => Exists.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (fun (q₂ : MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) => And (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p₁ (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (fun (_x : MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) => MvPolynomial.{u2, u1} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u1 u2, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u2, u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) σ R _inst_1 (Subtype.val.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s))) q₁)) (Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p₂ (FunLike.coe.{max (succ u1) (succ u2), max (succ u1) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (fun (_x : MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) => MvPolynomial.{u2, u1} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u1 u2, u1, max u1 u2, max u1 u2} (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (Algebra.toModule.{u1, max u1 u2} R (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u1 u2, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u1 u2, max u1 u2} R (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u2, u2, u1} (Subtype.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s)) σ R _inst_1 (Subtype.val.{succ u2} σ (fun (x : σ) => Membership.mem.{u2, u2} σ (Finset.{u2} σ) (Finset.instMembershipFinset.{u2} σ) x s))) q₂)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.exists_finset_rename₂ MvPolynomial.exists_finset_rename₂ₓ'. -/
/-- `exists_finset_rename` for two polyonomials at once: for any two polynomials `p₁`, `p₂` in a
  polynomial semiring `R[σ]` of possibly infinitely many variables, `exists_finset_rename₂` yields
  a finite subset `s` of `σ` such that both `p₁` and `p₂` are contained in the polynomial semiring
  `R[s]` of finitely many variables. -/
theorem exists_finset_rename₂ (p₁ p₂ : MvPolynomial σ R) :
    ∃ (s : Finset σ)(q₁ q₂ : MvPolynomial s R), p₁ = rename coe q₁ ∧ p₂ = rename coe q₂ :=
  by
  obtain ⟨s₁, q₁, rfl⟩ := exists_finset_rename p₁
  obtain ⟨s₂, q₂, rfl⟩ := exists_finset_rename p₂
  classical
    use s₁ ∪ s₂
    use rename (Set.inclusion <| s₁.subset_union_left s₂) q₁
    use rename (Set.inclusion <| s₁.subset_union_right s₂) q₂
    constructor <;> simpa
#align mv_polynomial.exists_finset_rename₂ MvPolynomial.exists_finset_rename₂

/- warning: mv_polynomial.exists_fin_rename -> MvPolynomial.exists_fin_rename is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (p : MvPolynomial.{u1, u2} σ R _inst_1), Exists.{1} Nat (fun (n : Nat) => Exists.{succ u1} ((Fin n) -> σ) (fun (f : (Fin n) -> σ) => Exists.{0} (Function.Injective.{1, succ u1} (Fin n) σ f) (fun (hf : Function.Injective.{1, succ u1} (Fin n) σ f) => Exists.{succ u2} (MvPolynomial.{0, u2} (Fin n) R _inst_1) (fun (q : MvPolynomial.{0, u2} (Fin n) R _inst_1) => Eq.{max (succ u1) (succ u2)} (MvPolynomial.{u1, u2} σ R _inst_1) p (coeFn.{max (succ u2) (succ (max u1 u2)), max (succ u2) (succ (max u1 u2))} (AlgHom.{u2, u2, max u1 u2} R (MvPolynomial.{0, u2} (Fin n) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u2} (MvPolynomial.{0, u2} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u2, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (fun (_x : AlgHom.{u2, u2, max u1 u2} R (MvPolynomial.{0, u2} (Fin n) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u2} (MvPolynomial.{0, u2} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u2, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) => (MvPolynomial.{0, u2} (Fin n) R _inst_1) -> (MvPolynomial.{u1, u2} σ R _inst_1)) ([anonymous].{u2, u2, max u1 u2} R (MvPolynomial.{0, u2} (Fin n) R _inst_1) (MvPolynomial.{u1, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u2} (MvPolynomial.{0, u2} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u2, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.rename.{0, u1, u2} (Fin n) σ R _inst_1 f) q)))))
but is expected to have type
  forall {σ : Type.{u2}} {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (p : MvPolynomial.{u2, u1} σ R _inst_1), Exists.{1} Nat (fun (n : Nat) => Exists.{succ u2} ((Fin n) -> σ) (fun (f : (Fin n) -> σ) => Exists.{0} (Function.Injective.{1, succ u2} (Fin n) σ f) (fun (hf : Function.Injective.{1, succ u2} (Fin n) σ f) => Exists.{succ u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (fun (q : MvPolynomial.{0, u1} (Fin n) R _inst_1) => Eq.{max (succ u2) (succ u1)} (MvPolynomial.{u2, u1} σ R _inst_1) p (FunLike.coe.{max (succ u2) (succ u1), succ u1, max (succ u2) (succ u1)} (AlgHom.{u1, u1, max u1 u2} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.{0, u1} (Fin n) R _inst_1) (fun (_x : MvPolynomial.{0, u1} (Fin n) R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{0, u1} (Fin n) R _inst_1) => MvPolynomial.{u2, u1} σ R _inst_1) _x) (SMulHomClass.toFunLike.{max u2 u1, u1, u1, max u2 u1} (AlgHom.{u1, u1, max u1 u2} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (SMulZeroClass.toSMul.{u1, u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (AddMonoid.toZero.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (AddMonoid.toAddZeroClass.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (AddCommMonoid.toAddMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)))))) (Module.toDistribMulAction.{u1, u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1))))) (Algebra.toModule.{u1, u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, u1, u1, max u2 u1} (AlgHom.{u1, u1, max u1 u2} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _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 u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1))))) (Algebra.toModule.{u1, u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} 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 u2 u1} (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 u2 u1} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, u1, u1, max u2 u1} (AlgHom.{u1, u1, max u1 u2} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _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 u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (Module.toDistribMulAction.{u1, u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1))))) (Algebra.toModule.{u1, u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} 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 u2 u1} (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 u2 u1} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, u1, max u2 u1, max u2 u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, u1, max u1 u2} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, u1, max u2 u1} R (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.{u2, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{u1} (MvPolynomial.{0, u1} (Fin n) R _inst_1) (MvPolynomial.commSemiring.{u1, 0} R (Fin n) _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, 0} R R (Fin n) _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{0, u2, u1} (Fin n) σ R _inst_1 f) q)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.exists_fin_rename MvPolynomial.exists_fin_renameₓ'. -/
/-- Every polynomial is a polynomial in finitely many variables. -/
theorem exists_fin_rename (p : MvPolynomial σ R) :
    ∃ (n : ℕ)(f : Fin n → σ)(hf : Injective f)(q : MvPolynomial (Fin n) R), p = rename f q :=
  by
  obtain ⟨s, q, rfl⟩ := exists_finset_rename p
  let n := Fintype.card { x // x ∈ s }
  let e := Fintype.equivFin { x // x ∈ s }
  refine' ⟨n, coe ∘ e.symm, subtype.val_injective.comp e.symm.injective, rename e q, _⟩
  rw [← rename_rename, rename_rename e]
  simp only [Function.comp, Equiv.symm_apply_apply, rename_rename]
#align mv_polynomial.exists_fin_rename MvPolynomial.exists_fin_rename

end Rename

/- warning: mv_polynomial.eval₂_cast_comp -> MvPolynomial.eval₂_cast_comp is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ) (c : RingHom.{0, u3} Int R (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.ring)) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (g : τ -> R) (p : MvPolynomial.{u1, 0} σ Int Int.commSemiring), Eq.{succ u3} R (MvPolynomial.eval₂.{0, u3, u1} Int R σ Int.commSemiring _inst_1 c (Function.comp.{succ u1, succ u2, succ u3} σ τ R g f) p) (MvPolynomial.eval₂.{0, u3, u2} Int R τ Int.commSemiring _inst_1 c g (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (AlgHom.{0, u1, u2} Int (MvPolynomial.{u1, 0} σ Int Int.commSemiring) (MvPolynomial.{u2, 0} τ Int Int.commSemiring) Int.commSemiring (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} σ Int Int.commSemiring) (MvPolynomial.commSemiring.{0, u1} Int σ Int.commSemiring)) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} τ Int Int.commSemiring) (MvPolynomial.commSemiring.{0, u2} Int τ Int.commSemiring)) (MvPolynomial.algebra.{0, 0, u1} Int Int σ Int.commSemiring Int.commSemiring (Algebra.id.{0} Int Int.commSemiring)) (MvPolynomial.algebra.{0, 0, u2} Int Int τ Int.commSemiring Int.commSemiring (Algebra.id.{0} Int Int.commSemiring))) (fun (_x : AlgHom.{0, u1, u2} Int (MvPolynomial.{u1, 0} σ Int Int.commSemiring) (MvPolynomial.{u2, 0} τ Int Int.commSemiring) Int.commSemiring (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} σ Int Int.commSemiring) (MvPolynomial.commSemiring.{0, u1} Int σ Int.commSemiring)) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} τ Int Int.commSemiring) (MvPolynomial.commSemiring.{0, u2} Int τ Int.commSemiring)) (MvPolynomial.algebra.{0, 0, u1} Int Int σ Int.commSemiring Int.commSemiring (Algebra.id.{0} Int Int.commSemiring)) (MvPolynomial.algebra.{0, 0, u2} Int Int τ Int.commSemiring Int.commSemiring (Algebra.id.{0} Int Int.commSemiring))) => (MvPolynomial.{u1, 0} σ Int Int.commSemiring) -> (MvPolynomial.{u2, 0} τ Int Int.commSemiring)) ([anonymous].{0, u1, u2} Int (MvPolynomial.{u1, 0} σ Int Int.commSemiring) (MvPolynomial.{u2, 0} τ Int Int.commSemiring) Int.commSemiring (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} σ Int Int.commSemiring) (MvPolynomial.commSemiring.{0, u1} Int σ Int.commSemiring)) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} τ Int Int.commSemiring) (MvPolynomial.commSemiring.{0, u2} Int τ Int.commSemiring)) (MvPolynomial.algebra.{0, 0, u1} Int Int σ Int.commSemiring Int.commSemiring (Algebra.id.{0} Int Int.commSemiring)) (MvPolynomial.algebra.{0, 0, u2} Int Int τ Int.commSemiring Int.commSemiring (Algebra.id.{0} Int Int.commSemiring))) (MvPolynomial.rename.{u1, u2, 0} σ τ Int Int.commSemiring f) p))
but is expected to have type
  forall {σ : Type.{u2}} {τ : Type.{u1}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ) (c : RingHom.{0, u3} Int R (NonAssocRing.toNonAssocSemiring.{0} Int (Ring.toNonAssocRing.{0} Int Int.instRingInt)) (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))) (g : τ -> R) (p : MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt), Eq.{succ u3} R (MvPolynomial.eval₂.{0, u3, u2} Int R σ Int.instCommSemiringInt _inst_1 c (Function.comp.{succ u2, succ u1, succ u3} σ τ R g f) p) (MvPolynomial.eval₂.{0, u3, u1} Int R τ Int.instCommSemiringInt _inst_1 c g (FunLike.coe.{max (max (succ u2) (succ u1)) 1, succ u2, succ u1} (AlgHom.{0, u2, u1} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt))) (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (fun (_x : MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) => MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) _x) (SMulHomClass.toFunLike.{max u2 u1, 0, u2, u1} (AlgHom.{0, u2, u1} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt))) Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (SMulZeroClass.toSMul.{0, u2} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (AddMonoid.toZero.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (AddCommMonoid.toAddMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt))))))) (DistribSMul.toSMulZeroClass.{0, u2} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (AddMonoid.toAddZeroClass.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (AddCommMonoid.toAddMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt))))))) (DistribMulAction.toDistribSMul.{0, u2} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MonoidWithZero.toMonoid.{0} Int (Semiring.toMonoidWithZero.{0} Int (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt))) (AddCommMonoid.toAddMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)))))) (Module.toDistribMulAction.{0, u2} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt))))) (Algebra.toModule.{0, u2} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt))))))) (SMulZeroClass.toSMul.{0, u1} Int (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (AddMonoid.toZero.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (AddCommMonoid.toAddMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt))))))) (DistribSMul.toSMulZeroClass.{0, u1} Int (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (AddMonoid.toAddZeroClass.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (AddCommMonoid.toAddMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt))))))) (DistribMulAction.toDistribSMul.{0, u1} Int (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MonoidWithZero.toMonoid.{0} Int (Semiring.toMonoidWithZero.{0} Int (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt))) (AddCommMonoid.toAddMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)))))) (Module.toDistribMulAction.{0, u1} Int (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt))))) (Algebra.toModule.{0, u1} Int (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt))))))) (DistribMulActionHomClass.toSMulHomClass.{max u2 u1, 0, u2, u1} (AlgHom.{0, u2, u1} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt))) Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MonoidWithZero.toMonoid.{0} Int (Semiring.toMonoidWithZero.{0} Int (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt))) (AddCommMonoid.toAddMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)))))) (AddCommMonoid.toAddMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)))))) (Module.toDistribMulAction.{0, u2} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt))))) (Algebra.toModule.{0, u2} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)))) (Module.toDistribMulAction.{0, u1} Int (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt))))) (Algebra.toModule.{0, u1} Int (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max u2 u1, 0, u2, u1} (AlgHom.{0, u2, u1} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt))) Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MonoidWithZero.toMonoid.{0} Int (Semiring.toMonoidWithZero.{0} Int (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)))) (Module.toDistribMulAction.{0, u2} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt))))) (Algebra.toModule.{0, u2} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)))) (Module.toDistribMulAction.{0, u1} Int (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{0} Int Int.instCommSemiringInt) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (Semiring.toNonAssocSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt))))) (Algebra.toModule.{0, u1} Int (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{0, u2, u1, max u2 u1} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)) (AlgHom.{0, u2, u1} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt))) (AlgHom.algHomClass.{0, u2, u1} Int (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) Int.instCommSemiringInt (CommSemiring.toSemiring.{u2} (MvPolynomial.{u2, 0} σ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u2} Int σ Int.instCommSemiringInt)) (CommSemiring.toSemiring.{u1} (MvPolynomial.{u1, 0} τ Int Int.instCommSemiringInt) (MvPolynomial.commSemiring.{0, u1} Int τ Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u2} Int Int σ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt)) (MvPolynomial.algebra.{0, 0, u1} Int Int τ Int.instCommSemiringInt Int.instCommSemiringInt (Algebra.id.{0} Int Int.instCommSemiringInt))))))) (MvPolynomial.rename.{u2, u1, 0} σ τ Int Int.instCommSemiringInt f) p))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.eval₂_cast_comp MvPolynomial.eval₂_cast_compₓ'. -/
theorem eval₂_cast_comp (f : σ → τ) (c : ℤ →+* R) (g : τ → R) (p : MvPolynomial σ ℤ) :
    eval₂ c (g ∘ f) p = eval₂ c g (rename f p) :=
  MvPolynomial.induction_on p (fun n => by simp only [eval₂_C, rename_C])
    (fun p q hp hq => by simp only [hp, hq, rename, eval₂_add, AlgHom.map_add]) fun p n hp => by
    simp only [hp, rename, aeval_def, eval₂_X, eval₂_mul]
#align mv_polynomial.eval₂_cast_comp MvPolynomial.eval₂_cast_comp

section Coeff

/- warning: mv_polynomial.coeff_rename_map_domain -> MvPolynomial.coeff_rename_mapDomain is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ), (Function.Injective.{succ u1, succ u2} σ τ f) -> (forall (φ : MvPolynomial.{u1, u3} σ R _inst_1) (d : Finsupp.{u1, 0} σ Nat Nat.hasZero), Eq.{succ u3} R (MvPolynomial.coeff.{u3, u2} R τ _inst_1 (Finsupp.mapDomain.{u1, u2, 0} σ τ Nat Nat.addCommMonoid f d) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f) φ)) (MvPolynomial.coeff.{u3, u1} R σ _inst_1 d φ))
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u2}} {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] (f : σ -> τ), (Function.Injective.{succ u3, succ u2} σ τ f) -> (forall (φ : MvPolynomial.{u3, u1} σ R _inst_1) (d : Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), Eq.{succ u1} R (MvPolynomial.coeff.{u1, u2} R τ _inst_1 (Finsupp.mapDomain.{u3, u2, 0} σ τ Nat Nat.addCommMonoid f d) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.{u3, u1} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u1} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u1} σ R _inst_1) => MvPolynomial.{u2, u1} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (SMulZeroClass.toSMul.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} 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 u2 u1} (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 u2 u1} (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)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} 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 u2 u1} (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 u2 u1} (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)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u3 u1, max u2 u1, max (max u3 u2) u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u3, max u1 u2} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u3 u1, max u2 u1} R (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.{u2, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u3, u2, u1} σ τ R _inst_1 f) φ)) (MvPolynomial.coeff.{u1, u3} R σ _inst_1 d φ))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_rename_map_domain MvPolynomial.coeff_rename_mapDomainₓ'. -/
@[simp]
theorem coeff_rename_mapDomain (f : σ → τ) (hf : Injective f) (φ : MvPolynomial σ R) (d : σ →₀ ℕ) :
    (rename f φ).coeff (d.mapDomain f) = φ.coeff d :=
  by
  apply induction_on' φ
  · intro u r
    rw [rename_monomial, coeff_monomial, coeff_monomial]
    simp only [(Finsupp.mapDomain_injective hf).eq_iff]
  · intros
    simp only [*, AlgHom.map_add, coeff_add]
#align mv_polynomial.coeff_rename_map_domain MvPolynomial.coeff_rename_mapDomain

/- warning: mv_polynomial.coeff_rename_eq_zero -> MvPolynomial.coeff_rename_eq_zero is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ) (φ : MvPolynomial.{u1, u3} σ R _inst_1) (d : Finsupp.{u2, 0} τ Nat Nat.hasZero), (forall (u : Finsupp.{u1, 0} σ Nat Nat.hasZero), (Eq.{succ u2} (Finsupp.{u2, 0} τ Nat (AddZeroClass.toHasZero.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid)))) (Finsupp.mapDomain.{u1, u2, 0} σ τ Nat Nat.addCommMonoid f u) d) -> (Eq.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 u φ) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))))) -> (Eq.{succ u3} R (MvPolynomial.coeff.{u3, u2} R τ _inst_1 d (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f) φ)) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))))
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (f : σ -> τ) (φ : MvPolynomial.{u3, u2} σ R _inst_1) (d : Finsupp.{u1, 0} τ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (forall (u : Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Eq.{succ u1} (Finsupp.{u1, 0} τ Nat (AddMonoid.toZero.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid))) (Finsupp.mapDomain.{u3, u1, 0} σ τ Nat Nat.addCommMonoid f u) d) -> (Eq.{succ u2} R (MvPolynomial.coeff.{u2, u3} R σ _inst_1 u φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))) -> (Eq.{succ u2} R (MvPolynomial.coeff.{u2, u1} R τ _inst_1 d (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u2, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u3 u2, max u1 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 f) φ)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_rename_eq_zero MvPolynomial.coeff_rename_eq_zeroₓ'. -/
theorem coeff_rename_eq_zero (f : σ → τ) (φ : MvPolynomial σ R) (d : τ →₀ ℕ)
    (h : ∀ u : σ →₀ ℕ, u.mapDomain f = d → φ.coeff u = 0) : (rename f φ).coeff d = 0 :=
  by
  rw [rename_eq, ← not_mem_support_iff]
  intro H
  replace H := map_domain_support H
  rw [Finset.mem_image] at H
  obtain ⟨u, hu, rfl⟩ := H
  specialize h u rfl
  simp at h hu
  contradiction
#align mv_polynomial.coeff_rename_eq_zero MvPolynomial.coeff_rename_eq_zero

/- warning: mv_polynomial.coeff_rename_ne_zero -> MvPolynomial.coeff_rename_ne_zero is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] (f : σ -> τ) (φ : MvPolynomial.{u1, u3} σ R _inst_1) (d : Finsupp.{u2, 0} τ Nat Nat.hasZero), (Ne.{succ u3} R (MvPolynomial.coeff.{u3, u2} R τ _inst_1 d (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f) φ)) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))))))) -> (Exists.{succ u1} (Finsupp.{u1, 0} σ Nat Nat.hasZero) (fun (u : Finsupp.{u1, 0} σ Nat Nat.hasZero) => And (Eq.{succ u2} (Finsupp.{u2, 0} τ Nat (AddZeroClass.toHasZero.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid)))) (Finsupp.mapDomain.{u1, u2, 0} σ τ Nat Nat.addCommMonoid f u) d) (Ne.{succ u3} R (MvPolynomial.coeff.{u3, u1} R σ _inst_1 u φ) (OfNat.ofNat.{u3} R 0 (OfNat.mk.{u3} R 0 (Zero.zero.{u3} R (MulZeroClass.toHasZero.{u3} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))))))))))
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] (f : σ -> τ) (φ : MvPolynomial.{u3, u2} σ R _inst_1) (d : Finsupp.{u1, 0} τ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)), (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u1} R τ _inst_1 d (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u2, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u3 u2, max u1 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 f) φ)) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1))))) -> (Exists.{succ u3} (Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) (fun (u : Finsupp.{u3, 0} σ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)) => And (Eq.{succ u1} (Finsupp.{u1, 0} τ Nat (AddMonoid.toZero.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid))) (Finsupp.mapDomain.{u3, u1, 0} σ τ Nat Nat.addCommMonoid f u) d) (Ne.{succ u2} R (MvPolynomial.coeff.{u2, u3} R σ _inst_1 u φ) (OfNat.ofNat.{u2} R 0 (Zero.toOfNat0.{u2} R (CommMonoidWithZero.toZero.{u2} R (CommSemiring.toCommMonoidWithZero.{u2} R _inst_1)))))))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.coeff_rename_ne_zero MvPolynomial.coeff_rename_ne_zeroₓ'. -/
theorem coeff_rename_ne_zero (f : σ → τ) (φ : MvPolynomial σ R) (d : τ →₀ ℕ)
    (h : (rename f φ).coeff d ≠ 0) : ∃ u : σ →₀ ℕ, u.mapDomain f = d ∧ φ.coeff u ≠ 0 :=
  by
  contrapose! h
  apply coeff_rename_eq_zero _ _ _ h
#align mv_polynomial.coeff_rename_ne_zero MvPolynomial.coeff_rename_ne_zero

/- warning: mv_polynomial.constant_coeff_rename -> MvPolynomial.constantCoeff_rename is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {τ : Type.{u3}} (f : σ -> τ) (φ : MvPolynomial.{u1, u2} σ R _inst_1), Eq.{succ u2} R (coeFn.{max (succ (max u3 u2)) (succ u2), max (succ (max u3 u2)) (succ u2)} (RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (fun (_x : RingHom.{max u3 u2, u2} (MvPolynomial.{u3, u2} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) => (MvPolynomial.{u3, u2} τ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u3 u2, u2} (MvPolynomial.{u3, u2} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.constantCoeff.{u2, u3} R τ _inst_1) (coeFn.{max (succ (max u1 u2)) (succ (max u3 u2)), max (succ (max u1 u2)) (succ (max u3 u2))} (AlgHom.{u2, max u1 u2, max u3 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (fun (_x : AlgHom.{u2, max u1 u2, max u3 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) => (MvPolynomial.{u1, u2} σ R _inst_1) -> (MvPolynomial.{u3, u2} τ R _inst_1)) ([anonymous].{u2, max u1 u2, max u3 u2} R (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.{u3, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.rename.{u1, u3, u2} σ τ R _inst_1 f) φ)) (coeFn.{max (succ (max u1 u2)) (succ u2), max (succ (max u1 u2)) (succ u2)} (RingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (fun (_x : RingHom.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) => (MvPolynomial.{u1, u2} σ R _inst_1) -> R) (RingHom.hasCoeToFun.{max u1 u2, u2} (MvPolynomial.{u1, u2} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (MvPolynomial.constantCoeff.{u2, u1} R σ _inst_1) φ)
but is expected to have type
  forall {σ : Type.{u2}} {R : Type.{u1}} [_inst_1 : CommSemiring.{u1} R] {τ : Type.{u3}} (f : σ -> τ) (φ : MvPolynomial.{u2, u1} σ R _inst_1), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u1} τ R _inst_1) => R) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (MvPolynomial.{u2, u1} σ R _inst_1) (fun (a : MvPolynomial.{u2, u1} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u2, u1} σ R _inst_1) => MvPolynomial.{u3, u1} τ R _inst_1) a) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u1, max u2 u1, max u3 u1} (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u1, max u2 u1, max u3 u1} (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, 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 u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (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 u2 u1} (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, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u3) u1, u1, max u2 u1, max u3 u1} (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) (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 u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (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 u2 u1} (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, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u2 u1, max u3 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u2, u3, u1} σ τ R _inst_1 f) φ)) (FunLike.coe.{max (succ u3) (succ u1), max (succ u3) (succ u1), succ u1} (RingHom.{max u1 u3, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u3, u1} τ R _inst_1) (fun (_x : MvPolynomial.{u3, u1} τ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u3, u1} τ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u3 u1, max u3 u1, u1} (RingHom.{max u1 u3, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u3, u1} τ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u3 u1, max u3 u1, u1} (RingHom.{max u1 u3, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u3, u1} τ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u3 u1, max u3 u1, u1} (RingHom.{max u1 u3, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u3, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u3 u1, u1} (MvPolynomial.{u3, u1} τ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.constantCoeff.{u1, u3} R τ _inst_1) (FunLike.coe.{max (max (succ u2) (succ u3)) (succ u1), max (succ u2) (succ u1), max (succ u3) (succ u1)} (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (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) => MvPolynomial.{u3, u1} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u2 u3) u1, u1, max u2 u1, max u3 u1} (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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 u2 u1} (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, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (AddMonoid.toZero.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u3) u1, u1, max u2 u1, max u3 u1} (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, 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 u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (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 u2 u1} (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, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u3) u1, u1, max u2 u1, max u3 u1} (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) (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 u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} 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 u2 u1} (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 u2 u1} (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, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1))))) (Algebra.toModule.{u1, max u3 u1} R (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u1, max u3 u1, max (max u2 u3) u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (AlgHom.{u1, max u1 u2, max u1 u3} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))) (AlgHom.algHomClass.{u1, max u2 u1, max u3 u1} R (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.{u3, u1} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1)) (CommSemiring.toSemiring.{max u3 u1} (MvPolynomial.{u3, u1} τ R _inst_1) (MvPolynomial.commSemiring.{u1, u3} R τ _inst_1)) (MvPolynomial.algebra.{u1, u1, u2} R R σ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1)) (MvPolynomial.algebra.{u1, u1, u3} R R τ _inst_1 _inst_1 (Algebra.id.{u1} R _inst_1))))))) (MvPolynomial.rename.{u2, u3, u1} σ τ R _inst_1 f) φ)) (FunLike.coe.{max (succ u2) (succ u1), max (succ u2) (succ u1), succ u1} (RingHom.{max u1 u2, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u2, u1} σ R _inst_1) (fun (_x : MvPolynomial.{u2, u1} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : MvPolynomial.{u2, u1} σ R _inst_1) => R) _x) (MulHomClass.toFunLike.{max u2 u1, max u2 u1, u1} (RingHom.{max u1 u2, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u2, u1} σ R _inst_1) R (NonUnitalNonAssocSemiring.toMul.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))))) (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalRingHomClass.toMulHomClass.{max u2 u1, max u2 u1, u1} (RingHom.{max u1 u2, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u2, u1} σ R _inst_1) R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (MvPolynomial.{u2, u1} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (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.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomClass.toNonUnitalRingHomClass.{max u2 u1, max u2 u1, u1} (RingHom.{max u1 u2, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHom.instRingHomClassRingHom.{max u2 u1, u1} (MvPolynomial.{u2, u1} σ R _inst_1) R (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u2, u1} σ R _inst_1) (MvPolynomial.commSemiring.{u1, u2} R σ _inst_1))) (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MvPolynomial.constantCoeff.{u1, u2} R σ _inst_1) φ)
Case conversion may be inaccurate. Consider using '#align mv_polynomial.constant_coeff_rename MvPolynomial.constantCoeff_renameₓ'. -/
@[simp]
theorem constantCoeff_rename {τ : Type _} (f : σ → τ) (φ : MvPolynomial σ R) :
    constantCoeff (rename f φ) = constantCoeff φ :=
  by
  apply φ.induction_on
  · intro a
    simp only [constant_coeff_C, rename_C]
  · intro p q hp hq
    simp only [hp, hq, RingHom.map_add, AlgHom.map_add]
  · intro p n hp
    simp only [hp, rename_X, constant_coeff_X, RingHom.map_mul, AlgHom.map_mul]
#align mv_polynomial.constant_coeff_rename MvPolynomial.constantCoeff_rename

end Coeff

section Support

/- warning: mv_polynomial.support_rename_of_injective -> MvPolynomial.support_rename_of_injective is a dubious translation:
lean 3 declaration is
  forall {σ : Type.{u1}} {τ : Type.{u2}} {R : Type.{u3}} [_inst_1 : CommSemiring.{u3} R] {p : MvPolynomial.{u1, u3} σ R _inst_1} {f : σ -> τ}, (Function.Injective.{succ u1, succ u2} σ τ f) -> (Eq.{succ u2} (Finset.{u2} (Finsupp.{u2, 0} τ Nat Nat.hasZero)) (MvPolynomial.support.{u3, u2} R τ _inst_1 (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgHom.{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) => (MvPolynomial.{u1, u3} σ R _inst_1) -> (MvPolynomial.{u2, u3} τ R _inst_1)) ([anonymous].{u3, max u1 u3, max u2 u3} R (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.{u2, u3} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u3} (MvPolynomial.{u1, u3} σ R _inst_1) (MvPolynomial.commSemiring.{u3, u1} R σ _inst_1)) (CommSemiring.toSemiring.{max u2 u3} (MvPolynomial.{u2, u3} τ R _inst_1) (MvPolynomial.commSemiring.{u3, u2} R τ _inst_1)) (MvPolynomial.algebra.{u3, u3, u1} R R σ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1)) (MvPolynomial.algebra.{u3, u3, u2} R R τ _inst_1 _inst_1 (Algebra.id.{u3} R _inst_1))) (MvPolynomial.rename.{u1, u2, u3} σ τ R _inst_1 f) p)) (Finset.image.{u1, u2} (Finsupp.{u1, 0} σ Nat (AddZeroClass.toHasZero.{0} Nat (AddMonoid.toAddZeroClass.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid)))) (Finsupp.{u2, 0} τ Nat Nat.hasZero) (fun (a : Finsupp.{u2, 0} τ Nat Nat.hasZero) (b : Finsupp.{u2, 0} τ Nat Nat.hasZero) => Finsupp.decidableEq.{u2, 0} τ Nat Nat.hasZero (fun (a : τ) (b : τ) => Classical.propDecidable (Eq.{succ u2} τ a b)) (fun (a : Nat) (b : Nat) => Nat.decidableEq a b) a b) (Finsupp.mapDomain.{u1, u2, 0} σ τ Nat Nat.addCommMonoid f) (MvPolynomial.support.{u3, u1} R σ _inst_1 p)))
but is expected to have type
  forall {σ : Type.{u3}} {τ : Type.{u1}} {R : Type.{u2}} [_inst_1 : CommSemiring.{u2} R] {p : MvPolynomial.{u3, u2} σ R _inst_1} {f : σ -> τ}, (Function.Injective.{succ u3, succ u1} σ τ f) -> (Eq.{succ u1} (Finset.{u1} (Finsupp.{u1, 0} τ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))) (MvPolynomial.support.{u2, u1} R τ _inst_1 (FunLike.coe.{max (max (succ u3) (succ u1)) (succ u2), max (succ u3) (succ u2), max (succ u1) (succ u2)} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (MvPolynomial.{u3, u2} σ R _inst_1) (fun (_x : MvPolynomial.{u3, u2} σ R _inst_1) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : MvPolynomial.{u3, u2} σ R _inst_1) => MvPolynomial.{u1, u2} τ R _inst_1) _x) (SMulHomClass.toFunLike.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (SMulZeroClass.toSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toZero.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (AddMonoid.toAddZeroClass.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (SMulZeroClass.toSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toZero.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribSMul.toSMulZeroClass.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (AddMonoid.toAddZeroClass.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))))) (DistribMulAction.toDistribSMul.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))))) (AddCommMonoid.toAddMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u3 u1) u2, u2, max u3 u2, max u1 u2} (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) (MonoidWithZero.toMonoid.{u2} R (Semiring.toMonoidWithZero.{u2} R (CommSemiring.toSemiring.{u2} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)))) (Module.toDistribMulAction.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (Semiring.toNonAssocSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1))))) (Algebra.toModule.{u2, max u3 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (Module.toDistribMulAction.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{u2} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (Semiring.toNonAssocSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1))))) (Algebra.toModule.{u2, max u1 u2} R (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u2, max u3 u2, max u1 u2, max (max u3 u1) u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (AlgHom.{u2, max u2 u3, max u2 u1} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))) (AlgHom.algHomClass.{u2, max u3 u2, max u1 u2} R (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.{u1, u2} τ R _inst_1) _inst_1 (CommSemiring.toSemiring.{max u3 u2} (MvPolynomial.{u3, u2} σ R _inst_1) (MvPolynomial.commSemiring.{u2, u3} R σ _inst_1)) (CommSemiring.toSemiring.{max u1 u2} (MvPolynomial.{u1, u2} τ R _inst_1) (MvPolynomial.commSemiring.{u2, u1} R τ _inst_1)) (MvPolynomial.algebra.{u2, u2, u3} R R σ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1)) (MvPolynomial.algebra.{u2, u2, u1} R R τ _inst_1 _inst_1 (Algebra.id.{u2} R _inst_1))))))) (MvPolynomial.rename.{u3, u1, u2} σ τ R _inst_1 f) p)) (Finset.image.{u3, u1} (Finsupp.{u3, 0} σ Nat (AddMonoid.toZero.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid))) (Finsupp.{u1, 0} τ Nat (AddMonoid.toZero.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid))) (fun (a : Finsupp.{u1, 0} τ Nat (AddMonoid.toZero.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid))) (b : Finsupp.{u1, 0} τ Nat (AddMonoid.toZero.{0} Nat (AddCommMonoid.toAddMonoid.{0} Nat Nat.addCommMonoid))) => Finsupp.decidableEq.{u1, 0} τ Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero) (fun (a : τ) (b : τ) => Classical.propDecidable (Eq.{succ u1} τ a b)) (fun (a : Nat) (b : Nat) => instDecidableEqNat a b) a b) (Finsupp.mapDomain.{u3, u1, 0} σ τ Nat Nat.addCommMonoid f) (MvPolynomial.support.{u2, u3} R σ _inst_1 p)))
Case conversion may be inaccurate. Consider using '#align mv_polynomial.support_rename_of_injective MvPolynomial.support_rename_of_injectiveₓ'. -/
theorem support_rename_of_injective {p : MvPolynomial σ R} {f : σ → τ} (h : Function.Injective f) :
    (rename f p).support = Finset.image (mapDomain f) p.support :=
  by
  rw [rename_eq]
  exact Finsupp.mapDomain_support_of_injective (map_domain_injective h) _
#align mv_polynomial.support_rename_of_injective MvPolynomial.support_rename_of_injective

end Support

end MvPolynomial